aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatias Bjørling <m@bjorling.me>2015-11-19 06:50:10 -0500
committerJens Axboe <axboe@fb.com>2015-11-19 17:15:56 -0500
commit54514aa465e94316a4bf1c5dfe970536bec3e76f (patch)
tree0ca50311d5889caa98cd868ddc65e993c994995c
parent5b40db99099ddebe31e9b1b759894cf09c0c6679 (diff)
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>
-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)
435 list_del_init(&nullb->list); 435 list_del_init(&nullb->list);
436 436
437 if (use_lightnvm) 437 if (use_lightnvm)
438 nvm_unregister(nullb->disk->disk_name); 438 nvm_unregister(nullb->disk_name);
439 del_gendisk(nullb->disk); 439 else
440 del_gendisk(nullb->disk);
440 blk_cleanup_queue(nullb->q); 441 blk_cleanup_queue(nullb->q);
441 if (queue_mode == NULL_Q_MQ) 442 if (queue_mode == NULL_Q_MQ)
442 blk_mq_free_tag_set(&nullb->tag_set); 443 blk_mq_free_tag_set(&nullb->tag_set);
443 put_disk(nullb->disk); 444 if (!use_lightnvm)
445 put_disk(nullb->disk);
444 cleanup_queues(nullb); 446 cleanup_queues(nullb);
445 kfree(nullb); 447 kfree(nullb);
446} 448}