Lines Matching refs:block
40 int dasd_gendisk_alloc(struct dasd_block *block)
47 base = block->base;
51 block->tag_set.ops = &dasd_mq_ops;
52 block->tag_set.cmd_size = sizeof(struct dasd_ccw_req);
53 block->tag_set.nr_hw_queues = nr_hw_queues;
54 block->tag_set.queue_depth = queue_depth;
55 block->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
56 block->tag_set.numa_node = NUMA_NO_NODE;
57 rc = blk_mq_alloc_tag_set(&block->tag_set);
61 gdp = blk_mq_alloc_disk(&block->tag_set, block);
63 blk_mq_free_tag_set(&block->tag_set);
99 block->gdp = gdp;
100 set_capacity(block->gdp, 0);
102 rc = device_add_disk(&base->cdev->dev, block->gdp, NULL);
104 dasd_gendisk_free(block);
114 void dasd_gendisk_free(struct dasd_block *block)
116 if (block->gdp) {
117 del_gendisk(block->gdp);
118 block->gdp->private_data = NULL;
119 put_disk(block->gdp);
120 block->gdp = NULL;
121 blk_mq_free_tag_set(&block->tag_set);
128 int dasd_scan_partitions(struct dasd_block *block)
133 bdev = blkdev_get_by_dev(disk_devt(block->gdp), BLK_OPEN_READ, NULL,
136 DBF_DEV_EVENT(DBF_ERR, block->base,
142 mutex_lock(&block->gdp->open_mutex);
143 rc = bdev_disk_changed(block->gdp, false);
144 mutex_unlock(&block->gdp->open_mutex);
146 DBF_DEV_EVENT(DBF_ERR, block->base,
159 block->bdev = bdev;
167 void dasd_destroy_partitions(struct dasd_block *block)
175 bdev = block->bdev;
176 block->bdev = NULL;