diff options
author | Hou Tao <houtao1@huawei.com> | 2019-05-21 10:59:03 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-09-16 01:02:08 +0300 |
commit | 3d24430694077313c75c6b89f618db09943621e4 (patch) | |
tree | f8688e775734e33e5616d916287e21f30147eb44 /usr/gen_init_cpio.c | |
parent | 89f3b6d62f2c7c1ed7b2e672be605016d9ff60f2 (diff) | |
download | linux-3d24430694077313c75c6b89f618db09943621e4.tar.xz |
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: 4bc6339a583c ("block: move blk_stat_add() to __blk_mq_end_request()")
Tested-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Hou Tao <houtao1@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'usr/gen_init_cpio.c')
0 files changed, 0 insertions, 0 deletions