blk-mq: don't stop queue for quiescing
authorMing Lei <ming.lei@redhat.com>
Tue, 6 Jun 2017 15:22:08 +0000 (23:22 +0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 18 Jun 2017 20:24:48 +0000 (14:24 -0600)
commit1d9e9bc6b56e1bb7e33e7e2e1b99d7088356c006
tree4a0929fa4e384718aabcc2180399b219f18f1615
parent69e07c4adb8669fd77f3b59abdb436aca9f1bee9
blk-mq: don't stop queue for quiescing

Queue can be started by other blk-mq APIs and can be used in
different cases, this limits uses of blk_mq_quiesce_queue()
if it is based on stopping queue, and make its usage very
difficult, especially users have to use the stop queue APIs
carefully for avoiding to break blk_mq_quiesce_queue().

We have applied the QUIESCED flag for draining and blocking
dispatch, so it isn't necessary to stop queue any more.

After stopping queue is removed, blk_mq_quiesce_queue() can
be used safely and easily, then users won't worry about queue
restarting during quiescing at all.

Reviewed-by: Bart Van Assche <Bart.VanAssche@sandisk.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c
include/linux/blk-mq.h