From: Sage Weil Date: Wed, 10 Jul 2019 21:16:57 +0000 (-0500) Subject: osd: report whether we have per-pool stats X-Git-Tag: v15.1.0~2214^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=5f99db7efaa3ec929ca6125709a7838fb1ca773a;p=ceph-ci.git osd: report whether we have per-pool stats Signed-off-by: Sage Weil --- diff --git a/src/messages/MPGStats.h b/src/messages/MPGStats.h index a605c95dcd8..944e536f995 100644 --- a/src/messages/MPGStats.h +++ b/src/messages/MPGStats.h @@ -61,6 +61,10 @@ public: paxos_decode(p); decode(fsid, p); decode(osd_stat, p); + if (osd_stat.num_osds == 0) { + // for the benefit of legacy OSDs who don't set this field + osd_stat.num_osds = 1; + } decode(pg_stat, p); decode(epoch, p); utime_t dummy; diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e034a08de5d..1f5f8d48808 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -7389,6 +7389,7 @@ MPGStats* OSD::collect_pg_stats() }); } store_statfs_t st; + bool per_pool_stats = false; for (auto p : pool_set) { int r = store->pool_statfs(p, &st); if (r == -ENOTSUP) { @@ -7396,9 +7397,14 @@ MPGStats* OSD::collect_pg_stats() } else { assert(r >= 0); m->pool_stat[p] = st; + per_pool_stats = true; } } + // indicate whether we are reporting per-pool stats + m->osd_stat.num_osds = 1; + m->osd_stat.num_per_pool_osds = per_pool_stats ? 1 : 0; + return m; }