[PATCH] blk-cgroup: show io.stat numbers for discard-only cgroups
Tao Cui <[email protected]>
| Newsgroups | org.kernel.vger.cgroups,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Tao Cui <[email protected]> blkcg_print_one_stat() gates the rbytes/wbytes/rios/wios/dbytes/dios output on if (rbytes || wbytes || rios || wios) which omits the discard counters. A cgroup that has issued only discards (zero read and write counters) therefore prints an empty stat line and its dbytes/dios are never surfaced, even though they are accounted correctly. The guard predates the addition of discard stats and was never updated; include dbytes/dios so discard-only cgroups are reported. Fixes: 636620b66d5d ("blkcg: Track DISCARD statistics and output them in cgroup io.stat") Signed-off-by: Tao Cui <[email protected]> --- block/blk-cgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index a778aa9d2bb9..b324701cb05d 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -1154,7 +1154,7 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) dios = bis->cur.ios[BLKG_IOSTAT_DISCARD]; } while (u64_stats_fetch_retry(&bis->sync, seq)); - if (rbytes || wbytes || rios || wios) { + if (rbytes || wbytes || rios || wios || dbytes || dios) { seq_printf(s, "rbytes=%llu wbytes=%llu rios=%llu wios=%llu dbytes=%llu dios=%llu", rbytes, wbytes, rios, wios, dbytes, dios); -- 2.43.0