pg_sum = pool_stat_t();
osd_sum = osd_stat_t();
num_pg_by_state.clear();
+ num_pg_by_pool_state.clear();
num_pg_by_osd.clear();
for (auto p = pg_stat.begin();
num_pg++;
num_pg_by_state[s.state]++;
+ num_pg_by_pool_state[pgid.pool()][s.state]++;
num_pg_by_pool[pgid.pool()]++;
if ((s.state & PG_STATE_CREATING) &&
ceph_assert(end >= 0);
if (end == 0)
num_pg_by_state.erase(s.state);
+ if (--num_pg_by_pool_state[pgid.pool()][s.state] == 0) {
+ num_pg_by_pool_state[pgid.pool()].erase(s.state);
+ }
end = --num_pg_by_pool[pgid.pool()];
if (end == 0) {
+ num_pg_by_pool_state.erase(pgid.pool());
num_pg_by_pool.erase(pgid.pool());
pg_pool_sum.erase(pgid.pool());
}
mempool::pgmap::unordered_map<int,set<pg_t> > pg_by_osd;
mempool::pgmap::unordered_map<int,int> blocked_by_sum;
mempool::pgmap::list< pair<pool_stat_t, utime_t> > pg_sum_deltas;
+ mempool::pgmap::unordered_map<int64_t,mempool::pgmap::unordered_map<uint64_t,int32_t>> num_pg_by_pool_state;
utime_t stamp;