summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2014-06-13 19:43:04 +0200
committerJens Axboe <axboe@fb.com>2014-06-13 20:17:38 +0200
commit8f5280f4ee75333ca12bde99ef6280ff65a8af43 (patch)
tree4605a53ad23a248379a49a4cba2df0408960f0d5 /block
parentblock: remove WQ_POWER_EFFICIENT from kblockd (diff)
downloadlinux-8f5280f4ee75333ca12bde99ef6280ff65a8af43.tar.xz
linux-8f5280f4ee75333ca12bde99ef6280ff65a8af43.zip
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.c2
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)
if (count == 0)
break;
- blk_mq_run_queues(q, false);
+ blk_mq_start_hw_queues(q);
msleep(10);
}
}