Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit 3d244306 authored by Hou Tao's avatar Hou Tao Committed by Jens Axboe
Browse files

block: make rq sector size accessible for block stats

Currently rq->data_len will be decreased by partial completion or
zeroed by completion, so when blk_stat_add() is invoked, data_len
will be zero and there will never be samples in poll_cb because
blk_mq_poll_stats_bkt() will return -1 if data_len is zero.

We could move blk_stat_add() back to __blk_mq_complete_request(),
but that would make the effort of trying to call ktime_get_ns()
once in vain. Instead we can reuse throtl_size field, and use
it for both block stats and block throttle, and adjust the
logic in blk_mq_poll_stats_bkt() accordingly.

Fixes: 4bc6339a

 ("block: move blk_stat_add() to __blk_mq_end_request()")
Tested-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarHou Tao <houtao1@huawei.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 89f3b6d6
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment