Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 174fd8d3 authored by Tejun Heo's avatar Tejun Heo Committed by Jens Axboe
Browse files

blkcg: fix incorrect read/write sync/async stat accounting



While unifying how blkcg stats are collected, 77ea7338 ("blkcg:
move io_service_bytes and io_serviced stats into blkcg_gq")
incorrectly used bio->flags instead of bio->rw to tell the IO type.
This made IOs to be accounted as the wrong type.  Fix it.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Fixes: 77ea7338 ("blkcg: move io_service_bytes and io_serviced stats into blkcg_gq")
Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 858e904b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -713,9 +713,9 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q,

	if (!throtl) {
		blkg = blkg ?: q->root_blkg;
		blkg_rwstat_add(&blkg->stat_bytes, bio->bi_flags,
		blkg_rwstat_add(&blkg->stat_bytes, bio->bi_rw,
				bio->bi_iter.bi_size);
		blkg_rwstat_add(&blkg->stat_ios, bio->bi_flags, 1);
		blkg_rwstat_add(&blkg->stat_ios, bio->bi_rw, 1);
	}

	rcu_read_unlock();