mon/PGMap: DIRTY field as N/A in df detail when cache tier not in use

'ceph df detail' reports a column for DIRTY objects under POOLS even
    though cache tiers not being used.  In replicated or EC pool all objects
    in the pool are reported as logically DIRTY as they have never been
    flushed .
    we display N/A for DIRTY objects if the pool is not a cache tier.

Signed-off-by: Deepika Upadhyay <dupadhya@redhat.com>
This commit is contained in:
Deepika Upadhyay 2021-06-23 10:42:38 +05:30
parent 4b1e101571
commit fafebb1824

View File

@ -925,7 +925,11 @@ void PGMapDigest::dump_object_stat_sum(
if (verbose) {
f->dump_int("quota_objects", pool->quota_max_objects);
f->dump_int("quota_bytes", pool->quota_max_bytes);
f->dump_int("dirty", sum.num_objects_dirty);
if (pool->is_tier()) {
f->dump_int("dirty", sum.num_objects_dirty);
} else {
f->dump_int("dirty", 0);
}
f->dump_int("rd", sum.num_rd);
f->dump_int("rd_bytes", sum.num_rd_kb * 1024ull);
f->dump_int("wr", sum.num_wr);
@ -955,16 +959,17 @@ void PGMapDigest::dump_object_stat_sum(
tbl << "N/A";
else
tbl << stringify(si_u_t(pool->quota_max_objects));
if (pool->quota_max_bytes == 0)
tbl << "N/A";
else
tbl << stringify(byte_u_t(pool->quota_max_bytes));
tbl << stringify(si_u_t(sum.num_objects_dirty))
<< stringify(byte_u_t(statfs.data_compressed_allocated))
<< stringify(byte_u_t(statfs.data_compressed_original))
;
if (pool->is_tier()) {
tbl << stringify(si_u_t(sum.num_objects_dirty));
} else {
tbl << "N/A";
}
tbl << stringify(byte_u_t(statfs.data_compressed_allocated));
tbl << stringify(byte_u_t(statfs.data_compressed_original));
}
}
}