Signed-off-by: Sage Weil <sage@redhat.com>
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;
});
}
store_statfs_t st;
+ bool per_pool_stats = false;
for (auto p : pool_set) {
int r = store->pool_statfs(p, &st);
if (r == -ENOTSUP) {
} 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;
}