From: Omar Sandoval Date: Thu, 16 Mar 2017 15:46:14 +0000 (-0600) Subject: blk-stat: fix blk_stat_sum() if all samples are batched X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=efd4b81abbe1ac753717f2f10cd3dab8bed6c103;p=openwrt%2Fstaging%2Fblogic.git blk-stat: fix blk_stat_sum() if all samples are batched We need to flush the batch _before_ we check the number of samples, otherwise we'll miss all of the batched samples. Fixes: cf43e6b ("block: add scalable completion tracking of requests") Signed-off-by: Omar Sandoval Signed-off-by: Jens Axboe --- diff --git a/block/blk-stat.c b/block/blk-stat.c index 9b43efb8933f..186fcb981e9b 100644 --- a/block/blk-stat.c +++ b/block/blk-stat.c @@ -30,11 +30,11 @@ static void blk_stat_flush_batch(struct blk_rq_stat *stat) static void blk_stat_sum(struct blk_rq_stat *dst, struct blk_rq_stat *src) { + blk_stat_flush_batch(src); + if (!src->nr_samples) return; - blk_stat_flush_batch(src); - dst->min = min(dst->min, src->min); dst->max = max(dst->max, src->max);