Hi, The 1st one moves request initializtion out of completion handler.
The following 2 patches support drain/sync mq queue in blk_cleanup_queue. The 4th patch calls blk_cleanup_queue() in removing device path to fix queue leak problem. The 5th patch doesn't export blk_mq_free_queue() because the function is called in release handler of queue kobject, and drivers needn't to call it. V1: - add patch 1/5 - add comments on blk_execute_rq_nowait 2/5 - set QUEUE_FLAG_DEAD for MQ 2/5 - use __blk_mq_drain_queue() helper 2/5 block/blk-core.c | 21 ++++++++++++-- block/blk-exec.c | 4 +++ block/blk-mq.c | 71 +++++++++++++++++++++++----------------------- block/blk-mq.h | 2 ++ block/blk-sysfs.c | 1 + drivers/block/null_blk.c | 10 ++----- include/linux/blk-mq.h | 1 - 7 files changed, 63 insertions(+), 47 deletions(-) Thanks, -- Ming Lei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/