nullb: use blk_mq_alloc_disk
authorChristoph Hellwig <hch@lst.de>
Wed, 2 Jun 2021 06:53:35 +0000 (09:53 +0300)
committerJens Axboe <axboe@kernel.dk>
Fri, 11 Jun 2021 17:54:39 +0000 (11:54 -0600)
Use blk_mq_alloc_disk and blk_cleanup_disk to simplify the gendisk and
request_queue allocation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Link: https://lore.kernel.org/r/20210602065345.355274-21-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/null_blk/main.c

index 83d803c..3b320b0 100644 (file)
@@ -1851,13 +1851,12 @@ static int null_add_dev(struct nullb_device *dev)
 
                rv = -ENOMEM;
                nullb->tag_set->timeout = 5 * HZ;
-               nullb->q = blk_mq_init_queue_data(nullb->tag_set, nullb);
-               if (IS_ERR(nullb->q))
+               nullb->disk = blk_mq_alloc_disk(nullb->tag_set, nullb);
+               if (IS_ERR(nullb->disk)) {
+                       rv = PTR_ERR(nullb->disk);
                        goto out_cleanup_tags;
-               nullb->disk = alloc_disk_node(1, nullb->dev->home_node);
-               if (!nullb->disk)
-                       goto out_cleanup_tags;
-               nullb->disk->queue = nullb->q;
+               }
+               nullb->q = nullb->disk->queue;
        } else if (dev->queue_mode == NULL_Q_BIO) {
                rv = -ENOMEM;
                nullb->disk = blk_alloc_disk(nullb->dev->home_node);