diff options
author | Christoph Hellwig <hch@lst.de> | 2014-06-13 13:43:04 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-06-13 14:17:38 -0400 |
commit | 8f5280f4ee75333ca12bde99ef6280ff65a8af43 (patch) | |
tree | 4605a53ad23a248379a49a4cba2df0408960f0d5 /block | |
parent | 28747fcd2211d0fccbe3d3c91a1067c3744db908 (diff) |
blk-mq: properly drain stopped queues
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>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index e11f5f8e0313..fd8b485d1288 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) | |||
120 | 120 | ||
121 | if (count == 0) | 121 | if (count == 0) |
122 | break; | 122 | break; |
123 | blk_mq_run_queues(q, false); | 123 | blk_mq_start_hw_queues(q); |
124 | msleep(10); | 124 | msleep(10); |
125 | } | 125 | } |
126 | } | 126 | } |