diff options
author | Tejun Heo <tj@kernel.org> | 2014-07-01 18:33:02 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-07-01 18:33:02 +0200 |
commit | 72d6f02a8d4e0dda74de3a541b1c4ae82f5f7b45 (patch) | |
tree | 63e27bc8021a69afa0ee10798aa340c7b0e35a60 | |
parent | blk-mq: decouble blk-mq freezing from generic bypassing (diff) | |
download | linux-72d6f02a8d4e0dda74de3a541b1c4ae82f5f7b45.tar.xz linux-72d6f02a8d4e0dda74de3a541b1c4ae82f5f7b45.zip |
blk-mq: collapse __blk_mq_drain_queue() into blk_mq_freeze_queue()
Keeping __blk_mq_drain_queue() as a separate function doesn't buy us
anything and it's gonna be further simplified. Let's flatten it into
its caller.
This patch doesn't make any functional change.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Nicholas A. Bellinger <nab@linux-iscsi.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
-rw-r--r-- | block/blk-mq.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 1e324a123d40..22682fb4be65 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -108,8 +108,16 @@ static void blk_mq_queue_exit(struct request_queue *q) __percpu_counter_add(&q->mq_usage_counter, -1, 1000000); } -void blk_mq_drain_queue(struct request_queue *q) +/* + * Guarantee no request is in use, so we can change any data structure of + * the queue afterward. + */ +void blk_mq_freeze_queue(struct request_queue *q) { + spin_lock_irq(q->queue_lock); + q->mq_freeze_depth++; + spin_unlock_irq(q->queue_lock); + while (true) { s64 count; @@ -124,19 +132,6 @@ void blk_mq_drain_queue(struct request_queue *q) } } -/* - * Guarantee no request is in use, so we can change any data structure of - * the queue afterward. - */ -void blk_mq_freeze_queue(struct request_queue *q) -{ - spin_lock_irq(q->queue_lock); - q->mq_freeze_depth++; - spin_unlock_irq(q->queue_lock); - - blk_mq_drain_queue(q); -} - static void blk_mq_unfreeze_queue(struct request_queue *q) { bool wake = false; |