summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmar Sandoval <osandov@fb.com>2017-02-01 01:53:21 +0300
committerJens Axboe <axboe@fb.com>2017-02-02 20:20:16 +0300
commit62ebce16c0ac2ffac44e32f931a2d8f6e749be4c (patch)
treee49141e8e4bf7da4984f911812f6a1ffefed7576
parent18fbda91c6370d520278db9ee1e768b59ef5c4ab (diff)
downloadlinux-62ebce16c0ac2ffac44e32f931a2d8f6e749be4c.tar.xz
blk-mq: move debugfs_remove() of disk dir to blk_release_queue()
This needs to happen after we tear down blktrace. Signed-off-by: Omar Sandoval <osandov@fb.com> Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r--block/blk-mq-sysfs.c2
-rw-r--r--block/blk-sysfs.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/block/blk-mq-sysfs.c b/block/blk-mq-sysfs.c
index 308b3f4fc310..295e69670c39 100644
--- a/block/blk-mq-sysfs.c
+++ b/block/blk-mq-sysfs.c
@@ -254,7 +254,7 @@ static void __blk_mq_unregister_dev(struct device *dev, struct request_queue *q)
kobject_put(&hctx->kobj);
}
- blk_mq_debugfs_unregister(q);
+ blk_mq_debugfs_unregister_hctxs(q);
kobject_uevent(&q->mq_kobj, KOBJ_REMOVE);
kobject_del(&q->mq_kobj);
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
index 3e204789b8d3..3ce1217778f4 100644
--- a/block/blk-sysfs.c
+++ b/block/blk-sysfs.c
@@ -824,6 +824,9 @@ static void blk_release_queue(struct kobject *kobj)
blk_trace_shutdown(q);
+ if (q->mq_ops)
+ blk_mq_debugfs_unregister(q);
+
if (q->bio_split)
bioset_free(q->bio_split);