From: Pavel Begunkov <asml.silence@xxxxxxxxx> There are implicit assumptions about struct blk_rq_stats, which make it's very easy to misuse. The first patch fixes consequences, and the second employs type-system to prevent recurrences. Pavel Begunkov (2): blk-iolatency: Fix zero mean in previous stats blk-stats: Introduce explicit stat staging buffers block/blk-iolatency.c | 60 ++++++++++++++++++++++++++++++--------- block/blk-stat.c | 48 +++++++++++++++++++++++-------- block/blk-stat.h | 9 ++++-- include/linux/blk_types.h | 6 ++++ 4 files changed, 94 insertions(+), 29 deletions(-) -- 2.22.0