null_blk: do not del gendisk with lightnvm
authorMatias Bjørling <m@bjorling.me>
Thu, 19 Nov 2015 11:50:10 +0000 (12:50 +0100)
committerJens Axboe <axboe@fb.com>
Thu, 19 Nov 2015 22:15:56 +0000 (15:15 -0700)
The gendisk structure has not been initialized when using lightnvm.
Make sure to not delete it upon exit. Also make sure that we use the
appropriate disk_name at unregistration.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/null_blk.c

index d51c24ac529f86c391d9f0ce4aff5a56c327cd67..5c8ba5484d86b14edaaf20cfd215591950826a76 100644 (file)
@@ -435,12 +435,14 @@ static void null_del_dev(struct nullb *nullb)
        list_del_init(&nullb->list);
 
        if (use_lightnvm)
-               nvm_unregister(nullb->disk->disk_name);
-       del_gendisk(nullb->disk);
+               nvm_unregister(nullb->disk_name);
+       else
+               del_gendisk(nullb->disk);
        blk_cleanup_queue(nullb->q);
        if (queue_mode == NULL_Q_MQ)
                blk_mq_free_tag_set(&nullb->tag_set);
-       put_disk(nullb->disk);
+       if (!use_lightnvm)
+               put_disk(nullb->disk);
        cleanup_queues(nullb);
        kfree(nullb);
 }