Lines Matching refs:block
35 int dasd_gendisk_alloc(struct dasd_block *block)
52 base = block->base;
56 block->tag_set.ops = &dasd_mq_ops;
57 block->tag_set.cmd_size = sizeof(struct dasd_ccw_req);
58 block->tag_set.nr_hw_queues = nr_hw_queues;
59 block->tag_set.queue_depth = queue_depth;
60 block->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
61 block->tag_set.numa_node = NUMA_NO_NODE;
62 rc = blk_mq_alloc_tag_set(&block->tag_set);
66 gdp = blk_mq_alloc_disk(&block->tag_set, &lim, block);
68 blk_mq_free_tag_set(&block->tag_set);
105 block->gdp = gdp;
106 set_capacity(block->gdp, 0);
108 rc = device_add_disk(&base->cdev->dev, block->gdp, NULL);
110 dasd_gendisk_free(block);
120 void dasd_gendisk_free(struct dasd_block *block)
122 if (block->gdp) {
123 del_gendisk(block->gdp);
124 block->gdp->private_data = NULL;
125 put_disk(block->gdp);
126 block->gdp = NULL;
127 blk_mq_free_tag_set(&block->tag_set);
134 int dasd_scan_partitions(struct dasd_block *block)
139 bdev_file = bdev_file_open_by_dev(disk_devt(block->gdp), BLK_OPEN_READ,
142 DBF_DEV_EVENT(DBF_ERR, block->base,
148 mutex_lock(&block->gdp->open_mutex);
149 rc = bdev_disk_changed(block->gdp, false);
150 mutex_unlock(&block->gdp->open_mutex);
152 DBF_DEV_EVENT(DBF_ERR, block->base,
162 * to block->bdev_file is done AFTER the BLKRRPART ioctl.
164 block->bdev_file = bdev_file;
172 void dasd_destroy_partitions(struct dasd_block *block)
180 bdev_file = block->bdev_file;
181 block->bdev_file = NULL;