diff options
author | Javier González <javier@javigon.com> | 2015-11-16 09:34:47 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-11-16 17:20:41 -0500 |
commit | d09f9581b235a92abbe372531660b468fadabc17 (patch) | |
tree | 14cc6c36c0b48fd1db98ed0eab17f8e853c90ea9 /drivers/lightnvm/core.c | |
parent | dad1b00977f9dc8120b48f9711deb4aa6462a3a6 (diff) |
lightnvm: cleanup queue before target removal
This prevents outstanding IOs to be sent for completion to target after
the target has been removed. The flow is now: stop new IOs > cleanup
queue > remove target.
Signed-off-by: Javier Gonzalez <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/lightnvm/core.c')
-rw-r--r-- | drivers/lightnvm/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 790b1d7a8d43..8a556f3f36bb 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c | |||
@@ -460,11 +460,11 @@ static void nvm_remove_target(struct nvm_target *t) | |||
460 | lockdep_assert_held(&nvm_lock); | 460 | lockdep_assert_held(&nvm_lock); |
461 | 461 | ||
462 | del_gendisk(tdisk); | 462 | del_gendisk(tdisk); |
463 | blk_cleanup_queue(q); | ||
464 | |||
463 | if (tt->exit) | 465 | if (tt->exit) |
464 | tt->exit(tdisk->private_data); | 466 | tt->exit(tdisk->private_data); |
465 | 467 | ||
466 | blk_cleanup_queue(q); | ||
467 | |||
468 | put_disk(tdisk); | 468 | put_disk(tdisk); |
469 | 469 | ||
470 | list_del(&t->list); | 470 | list_del(&t->list); |