summaryrefslogtreecommitdiffstats
path: root/drivers/block/null_blk.c
diff options
context:
space:
mode:
authorMatias Bjørling <m@bjorling.me>2015-11-19 12:50:10 +0100
committerJens Axboe <axboe@fb.com>2015-11-19 23:15:56 +0100
commit54514aa465e94316a4bf1c5dfe970536bec3e76f (patch)
tree0ca50311d5889caa98cd868ddc65e993c994995c /drivers/block/null_blk.c
parentnull_blk: use device addressing mode (diff)
downloadlinux-54514aa465e94316a4bf1c5dfe970536bec3e76f.tar.xz
linux-54514aa465e94316a4bf1c5dfe970536bec3e76f.zip
null_blk: do not del gendisk with lightnvm
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>
Diffstat (limited to 'drivers/block/null_blk.c')
-rw-r--r--drivers/block/null_blk.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c
index d51c24ac529f..5c8ba5484d86 100644
--- a/drivers/block/null_blk.c
+++ b/drivers/block/null_blk.c
@@ -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);
}