block: wake up waiters when a queue is marked dying
[deliverable/linux.git] / block / blk-mq.c
index 97ebb84b5633b1f86e5a21a18319b3d061729b5b..1a41d7aefbd57fe923e25c02835db5971838632b 100644 (file)
@@ -152,6 +152,16 @@ void blk_mq_unfreeze_queue(struct request_queue *q)
 }
 EXPORT_SYMBOL_GPL(blk_mq_unfreeze_queue);
 
+void blk_mq_wake_waiters(struct request_queue *q)
+{
+       struct blk_mq_hw_ctx *hctx;
+       unsigned int i;
+
+       queue_for_each_hw_ctx(q, hctx, i)
+               if (blk_mq_hw_queue_mapped(hctx))
+                       blk_mq_tag_wakeup_all(hctx->tags, true);
+}
+
 bool blk_mq_can_queue(struct blk_mq_hw_ctx *hctx)
 {
        return blk_mq_has_free_tags(hctx->tags);
This page took 0.025683 seconds and 5 git commands to generate.