summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorMatias Bjørling <m@bjorling.me>2015-11-19 14:50:10 +0300
committerJens Axboe <axboe@fb.com>2015-11-20 01:15:56 +0300
commit54514aa465e94316a4bf1c5dfe970536bec3e76f (patch)
tree0ca50311d5889caa98cd868ddc65e993c994995c /drivers/block
parent5b40db99099ddebe31e9b1b759894cf09c0c6679 (diff)
downloadlinux-54514aa465e94316a4bf1c5dfe970536bec3e76f.tar.xz
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')
-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);
}