After two iterations of RFCs I think this is ready now. I've taken the feedback from the last series, both on code and commit log. I've also extended the commit log on the last patch to also explain how the original shift to async request_queue removal turned out to actually be a userspace regression and added a respective fixes tag for it. You can find these patches on my 20200414-dev-blkqueue-defer-removal-patch-v1 branch based on linux-next tag next-20200414 on kernel.org [0]. Further review and rants are appreciated. [0] https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/log/?h=20200414-dev-blkqueue-defer-removal Luis Chamberlain (5): block: move main block debugfs initialization to its own file blktrace: fix debugfs use after free blktrace: refcount the request_queue during ioctl mm/swapfile: refcount block and queue before using blkcg_schedule_throttle() block: revert back to synchronous request_queue removal block/Makefile | 1 + block/blk-core.c | 28 ++++++++++++++++-------- block/blk-debugfs.c | 27 ++++++++++++++++++++++++ block/blk-mq-debugfs.c | 5 ----- block/blk-sysfs.c | 41 ++++++++++++++++++------------------ block/blk.h | 17 +++++++++++++++ include/linux/blkdev.h | 7 +++--- include/linux/blktrace_api.h | 1 - kernel/trace/blktrace.c | 25 ++++++++++++---------- mm/swapfile.c | 14 ++++++++++-- 10 files changed, 114 insertions(+), 52 deletions(-) create mode 100644 block/blk-debugfs.c -- 2.25.1