blk-mq: introduce blk_mq_quiesce_queue_nowait()
authorMing Lei <ming.lei@redhat.com>
Tue, 6 Jun 2017 15:22:02 +0000 (23:22 +0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 18 Jun 2017 20:20:04 +0000 (14:20 -0600)
This patch introduces blk_mq_quiesce_queue_nowait() so
that we can workaround mpt3sas for quiescing its queue.

Once mpt3sas is fixed, we can remove this helper.

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>
include/linux/blk-mq.h

index 99348adb3e16d1b407a565f080c31ec5c4a9681d..78a8b64074eaba255bb81603f3a10849605ee4b1 100644 (file)
@@ -262,6 +262,14 @@ int blk_mq_reinit_tagset(struct blk_mq_tag_set *set);
 int blk_mq_map_queues(struct blk_mq_tag_set *set);
 void blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, int nr_hw_queues);
 
+/*
+ * FIXME: this helper is just for working around mpt3sas.
+ */
+static inline void blk_mq_quiesce_queue_nowait(struct request_queue *q)
+{
+       blk_mq_stop_hw_queues(q);
+}
+
 /*
  * Driver command data is immediately after the request. So subtract request
  * size to get back to the original request, add request size to get the PDU.