public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] blk-mq: properly drain stopped queues
@ 2014-06-13 17:43 Christoph Hellwig
  2014-06-13 17:43 ` [PATCH 2/2] blk-mq: merge blk_mq_drain_queue and __blk_mq_drain_queue Christoph Hellwig
  2014-06-13 18:17 ` [PATCH 1/2] blk-mq: properly drain stopped queues Jens Axboe
  0 siblings, 2 replies; 3+ messages in thread
From: Christoph Hellwig @ 2014-06-13 17:43 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel

If we need to drain a queue we need to run all queues, even if they
are marked stopped to make sure the driver has a chance to error out
on all queued requests.

This fixes surprise removal with scsi-mq.

Reported-by: Bart Van Assche <bvanassche@acm.org>
Tested-by: Bart Van Assche <bvanassche@acm.org>
---
 block/blk-mq.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 3d868d3..15b3ccd 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -120,7 +120,7 @@ static void __blk_mq_drain_queue(struct request_queue *q)
 
 		if (count == 0)
 			break;
-		blk_mq_run_queues(q, false);
+		blk_mq_start_hw_queues(q);
 		msleep(10);
 	}
 }
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-06-13 18:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-13 17:43 [PATCH 1/2] blk-mq: properly drain stopped queues Christoph Hellwig
2014-06-13 17:43 ` [PATCH 2/2] blk-mq: merge blk_mq_drain_queue and __blk_mq_drain_queue Christoph Hellwig
2014-06-13 18:17 ` [PATCH 1/2] blk-mq: properly drain stopped queues Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox