diff options
author | Pavel Begunkov <asml.silence@gmail.com> | 2019-09-30 20:55:33 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-10-07 16:31:59 +0200 |
commit | bb4e6b149103c285aeeba43a8141ea3b7009c0fa (patch) | |
tree | 9eb22ead2f8dca71385dd6658c30e19aaa96c2fd /block | |
parent | blk-mq: Inline status checkers (diff) | |
download | linux-bb4e6b149103c285aeeba43a8141ea3b7009c0fa.tar.xz linux-bb4e6b149103c285aeeba43a8141ea3b7009c0fa.zip |
blk-mq: Reuse callback in blk_mq_in_flight*()
Reuse a more generic callback in both blk_mq_in_flight() and
blk_mq_in_flight_rw().
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-mq.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 268a95e899b7..19560a16a774 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -102,11 +102,8 @@ static bool blk_mq_check_inflight(struct blk_mq_hw_ctx *hctx, { struct mq_inflight *mi = priv; - /* - * index[0] counts the specific partition that was asked for. - */ if (rq->part == mi->part) - mi->inflight[0]++; + mi->inflight[rq_data_dir(rq)]++; return true; } @@ -119,19 +116,7 @@ unsigned int blk_mq_in_flight(struct request_queue *q, struct hd_struct *part) inflight[0] = inflight[1] = 0; blk_mq_queue_tag_busy_iter(q, blk_mq_check_inflight, &mi); - return inflight[0]; -} - -static bool blk_mq_check_inflight_rw(struct blk_mq_hw_ctx *hctx, - struct request *rq, void *priv, - bool reserved) -{ - struct mq_inflight *mi = priv; - - if (rq->part == mi->part) - mi->inflight[rq_data_dir(rq)]++; - - return true; + return inflight[0] + inflight[1]; } void blk_mq_in_flight_rw(struct request_queue *q, struct hd_struct *part, @@ -140,7 +125,7 @@ void blk_mq_in_flight_rw(struct request_queue *q, struct hd_struct *part, struct mq_inflight mi = { .part = part, .inflight = inflight, }; inflight[0] = inflight[1] = 0; - blk_mq_queue_tag_busy_iter(q, blk_mq_check_inflight_rw, &mi); + blk_mq_queue_tag_busy_iter(q, blk_mq_check_inflight, &mi); } void blk_freeze_queue_start(struct request_queue *q) |