// list is descending numeric order (by count)
multimap<int,int> state_by_count; // count -> state
- for (ceph::unordered_map<int,int>::const_iterator p = num_pg_by_state.begin();
+ for (auto p = num_pg_by_state.begin();
p != num_pg_by_state.end();
++p) {
state_by_count.insert(make_pair(p->second, p->first));
}
if (f) {
- for (multimap<int,int>::reverse_iterator p = state_by_count.rbegin();
+ for (auto p = state_by_count.rbegin();
p != state_by_count.rend();
++p)
{
list<string> sl;
overall_recovery_summary(f, &sl);
if (!f && !sl.empty()) {
- for (list<string>::iterator p = sl.begin(); p != sl.end(); ++p) {
+ for (auto p = sl.begin(); p != sl.end(); ++p) {
if (pad) {
*out << " ";
}
if (f)
f->open_array_section("num_pg_by_state");
- for (ceph::unordered_map<int,int>::const_iterator p = num_pg_by_state.begin();
+ for (auto p = num_pg_by_state.begin();
p != num_pg_by_state.end();
++p) {
if (f) {
list<string> sl;
overall_recovery_summary(f, &sl);
if (out)
- for (list<string>::iterator p = sl.begin(); p != sl.end(); ++p)
+ for (auto p = sl.begin(); p != sl.end(); ++p)
*out << "; " << *p;
std::stringstream ssr;
overall_recovery_rate_summary(f, &ssr);
void PGMapDigest::pool_recovery_rate_summary(Formatter *f, ostream *out,
uint64_t poolid) const
{
- ceph::unordered_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
- per_pool_sum_delta.find(poolid);
+ auto p = per_pool_sum_delta.find(poolid);
if (p == per_pool_sum_delta.end())
return;
- ceph::unordered_map<uint64_t,utime_t>::const_iterator ts =
- per_pool_sum_deltas_stamps.find(p->first);
+ auto ts = per_pool_sum_deltas_stamps.find(p->first);
assert(ts != per_pool_sum_deltas_stamps.end());
recovery_rate_summary(f, out, p->second.first, ts->second);
}
void PGMapDigest::pool_recovery_summary(Formatter *f, list<string> *psl,
uint64_t poolid) const
{
- ceph::unordered_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
- per_pool_sum_delta.find(poolid);
+ auto p = per_pool_sum_delta.find(poolid);
if (p == per_pool_sum_delta.end())
return;
void PGMapDigest::pool_client_io_rate_summary(Formatter *f, ostream *out,
uint64_t poolid) const
{
- ceph::unordered_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
- per_pool_sum_delta.find(poolid);
+ auto p = per_pool_sum_delta.find(poolid);
if (p == per_pool_sum_delta.end())
return;
- ceph::unordered_map<uint64_t,utime_t>::const_iterator ts =
- per_pool_sum_deltas_stamps.find(p->first);
+ auto ts = per_pool_sum_deltas_stamps.find(p->first);
assert(ts != per_pool_sum_deltas_stamps.end());
client_io_rate_summary(f, out, p->second.first, ts->second);
}
void PGMapDigest::pool_cache_io_rate_summary(Formatter *f, ostream *out,
uint64_t poolid) const
{
- ceph::unordered_map<uint64_t,pair<pool_stat_t,utime_t> >::const_iterator p =
- per_pool_sum_delta.find(poolid);
+ auto p = per_pool_sum_delta.find(poolid);
if (p == per_pool_sum_delta.end())
return;
- ceph::unordered_map<uint64_t,utime_t>::const_iterator ts =
- per_pool_sum_deltas_stamps.find(p->first);
+ auto ts = per_pool_sum_deltas_stamps.find(p->first);
assert(ts != per_pool_sum_deltas_stamps.end());
cache_io_rate_summary(f, out, p->second.first, ts->second);
}
}
map<int,uint64_t> avail_by_rule;
- for (map<int64_t,pg_pool_t>::const_iterator p = osd_map.get_pools().begin();
+ for (auto p = osd_map.get_pools().begin();
p != osd_map.get_pools().end(); ++p) {
int64_t pool_id = p->first;
if ((pool_id < 0) || (pg_pool_sum.count(pool_id) == 0))
}
int64_t min = -1;
- for (map<int,float>::iterator p = wm.begin(); p != wm.end(); ++p) {
- ceph::unordered_map<int32_t,osd_stat_t>::const_iterator osd_info =
- osd_stat.find(p->first);
+ for (auto p = wm.begin(); p != wm.end(); ++p) {
+ auto osd_info = osd_stat.find(p->first);
if (osd_info != osd_stat.end()) {
if (osd_info->second.kb == 0 || p->second == 0) {
// osd must be out, hence its stats have been zeroed
if (struct_v >= 7) {
::decode(osd_epochs, bl);
} else {
- for (map<int32_t, osd_stat_t>::iterator i = osd_stat_updates.begin();
+ for (auto i = osd_stat_updates.begin();
i != osd_stat_updates.end();
++i) {
// This isn't accurate, but will cause trimming to behave like
f->dump_float("nearfull_ratio", nearfull_ratio);
f->open_array_section("pg_stat_updates");
- for (map<pg_t,pg_stat_t>::const_iterator p = pg_stat_updates.begin(); p != pg_stat_updates.end(); ++p) {
+ for (auto p = pg_stat_updates.begin(); p != pg_stat_updates.end(); ++p) {
f->open_object_section("pg_stat");
f->dump_stream("pgid") << p->first;
p->second.dump(f);
f->close_section();
f->open_array_section("osd_stat_updates");
- for (map<int32_t,osd_stat_t>::const_iterator p = osd_stat_updates.begin(); p != osd_stat_updates.end(); ++p) {
+ for (auto p = osd_stat_updates.begin(); p != osd_stat_updates.end(); ++p) {
f->open_object_section("osd_stat");
f->dump_int("osd", p->first);
p->second.dump(f);
f->close_section();
f->open_array_section("osd_stat_removals");
- for (set<int>::const_iterator p = osd_stat_rm.begin(); p != osd_stat_rm.end(); ++p)
+ for (auto p = osd_stat_rm.begin(); p != osd_stat_rm.end(); ++p)
f->dump_int("osd", *p);
f->close_section();
f->open_array_section("pg_removals");
- for (set<pg_t>::const_iterator p = pg_remove.begin(); p != pg_remove.end(); ++p)
+ for (auto p = pg_remove.begin(); p != pg_remove.end(); ++p)
f->dump_stream("pgid") << *p;
f->close_section();
}
if (ratios_changed)
redo_full_sets();
- for (map<pg_t,pg_stat_t>::const_iterator p = inc.pg_stat_updates.begin();
+ for (auto p = inc.pg_stat_updates.begin();
p != inc.pg_stat_updates.end();
++p) {
const pg_t &update_pg(p->first);
if (pg_pool_sum_old.count(update_pg.pool()) == 0)
pg_pool_sum_old[update_pg.pool()] = pg_pool_sum[update_pg.pool()];
- ceph::unordered_map<pg_t,pg_stat_t>::iterator t = pg_stat.find(update_pg);
+ auto t = pg_stat.find(update_pg);
if (t == pg_stat.end()) {
- ceph::unordered_map<pg_t,pg_stat_t>::value_type v(update_pg, update_stat);
- pg_stat.insert(v);
+ pg_stat.insert(make_pair(update_pg, update_stat));
} else {
stat_pg_sub(update_pg, t->second);
t->second = update_stat;
stat_pg_add(update_pg, update_stat);
}
assert(osd_stat.size() == osd_epochs.size());
- for (map<int32_t,osd_stat_t>::const_iterator p =
- inc.get_osd_stat_updates().begin();
+ for (auto p = inc.get_osd_stat_updates().begin();
p != inc.get_osd_stat_updates().end();
++p) {
int osd = p->first;
const osd_stat_t &new_stats(p->second);
- ceph::unordered_map<int32_t,osd_stat_t>::iterator t = osd_stat.find(osd);
+ auto t = osd_stat.find(osd);
if (t == osd_stat.end()) {
- ceph::unordered_map<int32_t,osd_stat_t>::value_type v(osd, new_stats);
- osd_stat.insert(v);
+ osd_stat.insert(make_pair(osd, new_stats));
} else {
stat_osd_sub(t->second);
t->second = new_stats;
}
- ceph::unordered_map<int32_t,epoch_t>::iterator i = osd_epochs.find(osd);
- map<int32_t,epoch_t>::const_iterator j = inc.get_osd_epochs().find(osd);
+ auto i = osd_epochs.find(osd);
+ auto j = inc.get_osd_epochs().find(osd);
assert(j != inc.get_osd_epochs().end());
if (i == osd_epochs.end())
register_nearfull_status(osd, new_stats);
}
set<int64_t> deleted_pools;
- for (set<pg_t>::const_iterator p = inc.pg_remove.begin();
+ for (auto p = inc.pg_remove.begin();
p != inc.pg_remove.end();
++p) {
const pg_t &removed_pg(*p);
- ceph::unordered_map<pg_t,pg_stat_t>::iterator s = pg_stat.find(removed_pg);
+ auto s = pg_stat.find(removed_pg);
if (s != pg_stat.end()) {
stat_pg_sub(removed_pg, s->second);
pg_stat.erase(s);
if (removed_pg.ps() == 0)
deleted_pools.insert(removed_pg.pool());
}
- for (set<int64_t>::iterator p = deleted_pools.begin();
+ for (auto p = deleted_pools.begin();
p != deleted_pools.end();
++p) {
dout(20) << " deleted pool " << *p << dendl;
deleted_pool(*p);
}
- for (set<int>::iterator p = inc.get_osd_stat_rm().begin();
+ for (auto p = inc.get_osd_stat_rm().begin();
p != inc.get_osd_stat_rm().end();
++p) {
- ceph::unordered_map<int32_t,osd_stat_t>::iterator t = osd_stat.find(*p);
+ auto t = osd_stat.find(*p);
if (t != osd_stat.end()) {
stat_osd_sub(t->second);
osd_stat.erase(t);
{
full_osds.clear();
nearfull_osds.clear();
- for (ceph::unordered_map<int32_t, osd_stat_t>::iterator i = osd_stat.begin();
+ for (auto i = osd_stat.begin();
i != osd_stat.end();
++i) {
register_nearfull_status(i->first, i->second);
num_pg_by_state.clear();
num_pg_by_osd.clear();
- for (ceph::unordered_map<pg_t,pg_stat_t>::iterator p = pg_stat.begin();
+ for (auto p = pg_stat.begin();
p != pg_stat.end();
++p) {
stat_pg_add(p->first, p->second);
}
- for (ceph::unordered_map<int32_t,osd_stat_t>::iterator p = osd_stat.begin();
+ for (auto p = osd_stat.begin();
p != osd_stat.end();
++p)
stat_osd_add(p->second);
void PGMap::update_pg(pg_t pgid, bufferlist& bl)
{
bufferlist::iterator p = bl.begin();
- ceph::unordered_map<pg_t,pg_stat_t>::iterator s = pg_stat.find(pgid);
+ auto s = pg_stat.find(pgid);
epoch_t old_lec = 0, lec;
if (s != pg_stat.end()) {
old_lec = s->second.get_effective_last_epoch_clean();
void PGMap::remove_pg(pg_t pgid)
{
- ceph::unordered_map<pg_t,pg_stat_t>::iterator s = pg_stat.find(pgid);
+ auto s = pg_stat.find(pgid);
if (s != pg_stat.end()) {
if (min_last_epoch_clean &&
s->second.get_effective_last_epoch_clean() == min_last_epoch_clean)
void PGMap::update_osd(int osd, bufferlist& bl)
{
bufferlist::iterator p = bl.begin();
- ceph::unordered_map<int32_t,osd_stat_t>::iterator o = osd_stat.find(osd);
+ auto o = osd_stat.find(osd);
epoch_t old_lec = 0;
if (o != osd_stat.end()) {
- ceph::unordered_map<int32_t,epoch_t>::iterator i = osd_epochs.find(osd);
+ auto i = osd_epochs.find(osd);
if (i != osd_epochs.end())
old_lec = i->second;
stat_osd_sub(o->second);
void PGMap::remove_osd(int osd)
{
- ceph::unordered_map<int32_t,osd_stat_t>::iterator o = osd_stat.find(osd);
+ auto o = osd_stat.find(osd);
if (o != osd_stat.end()) {
stat_osd_sub(o->second);
osd_stat.erase(o);
if (sameosds)
return;
- for (vector<int>::const_iterator p = s.blocked_by.begin();
+ for (auto p = s.blocked_by.begin();
p != s.blocked_by.end();
++p) {
++blocked_by_sum[*p];
}
- for (vector<int>::const_iterator p = s.acting.begin(); p != s.acting.end(); ++p) {
+ for (auto p = s.acting.begin(); p != s.acting.end(); ++p) {
pg_by_osd[*p].insert(pgid);
num_pg_by_osd[*p].acting++;
}
- for (vector<int>::const_iterator p = s.up.begin(); p != s.up.end(); ++p) {
+ for (auto p = s.up.begin(); p != s.up.end(); ++p) {
pg_by_osd[*p].insert(pgid);
num_pg_by_osd[*p].up++;
}
if (sameosds)
return;
- for (vector<int>::const_iterator p = s.blocked_by.begin();
+ for (auto p = s.blocked_by.begin();
p != s.blocked_by.end();
++p) {
- ceph::unordered_map<int,int>::iterator q = blocked_by_sum.find(*p);
+ auto q = blocked_by_sum.find(*p);
assert(q != blocked_by_sum.end());
--q->second;
if (q->second == 0)
blocked_by_sum.erase(q);
}
- for (vector<int>::const_iterator p = s.acting.begin(); p != s.acting.end(); ++p) {
- set<pg_t>& oset = pg_by_osd[*p];
+ for (auto p = s.acting.begin(); p != s.acting.end(); ++p) {
+ auto& oset = pg_by_osd[*p];
oset.erase(pgid);
if (oset.empty())
pg_by_osd.erase(*p);
if (it != num_pg_by_osd.end() && it->second.acting > 0)
it->second.acting--;
}
- for (vector<int>::const_iterator p = s.up.begin(); p != s.up.end(); ++p) {
- set<pg_t>& oset = pg_by_osd[*p];
+ for (auto p = s.up.begin(); p != s.up.end(); ++p) {
+ auto& oset = pg_by_osd[*p];
oset.erase(pgid);
if (oset.empty())
pg_by_osd.erase(*p);
if (pg_stat.empty())
return 0;
- ceph::unordered_map<pg_t,pg_stat_t>::const_iterator p = pg_stat.begin();
+ auto p = pg_stat.begin();
epoch_t min = p->second.get_effective_last_epoch_clean();
for (++p; p != pg_stat.end(); ++p) {
epoch_t lec = p->second.get_effective_last_epoch_clean();
}
// also scan osd epochs
// don't trim past the oldest reported osd epoch
- for (ceph::unordered_map<int32_t, epoch_t>::const_iterator i = osd_epochs.begin();
+ for (auto i = osd_epochs.begin();
i != osd_epochs.end();
++i) {
if (i->second < min)
if (struct_v >= 6) {
::decode(osd_epochs, bl);
} else {
- for (ceph::unordered_map<int32_t, osd_stat_t>::iterator i = osd_stat.begin();
+ for (auto i = osd_stat.begin();
i != osd_stat.end();
++i) {
// This isn't accurate, but will cause trimming to behave like
inc.full_ratio = full_ratio;
inc.nearfull_ratio = nearfull_ratio;
- for (ceph::unordered_map<pg_t,pg_stat_t>::const_iterator p = pg_stat.begin(); p != pg_stat.end(); ++p) {
+ for (auto p = pg_stat.begin(); p != pg_stat.end(); ++p) {
inc.pg_stat_updates[p->first] = p->second;
}
- for (ceph::unordered_map<int32_t, osd_stat_t>::const_iterator p = osd_stat.begin(); p != osd_stat.end(); ++p) {
+ for (auto p = osd_stat.begin(); p != osd_stat.end(); ++p) {
assert(osd_epochs.count(p->first));
inc.update_stat(p->first,
inc.get_osd_epochs().find(p->first)->second,
f->close_section();
f->open_array_section("osd_epochs");
- for (ceph::unordered_map<int32_t,epoch_t>::const_iterator p =
- osd_epochs.begin(); p != osd_epochs.end(); ++p) {
+ for (auto p = osd_epochs.begin(); p != osd_epochs.end(); ++p) {
f->open_object_section("osd");
f->dump_unsigned("osd", p->first);
f->dump_unsigned("epoch", p->second);
void PGMap::dump_pg_stats(Formatter *f, bool brief) const
{
f->open_array_section("pg_stats");
- for (ceph::unordered_map<pg_t,pg_stat_t>::const_iterator i = pg_stat.begin();
+ for (auto i = pg_stat.begin();
i != pg_stat.end();
++i) {
f->open_object_section("pg_stat");
void PGMap::dump_pool_stats(Formatter *f) const
{
f->open_array_section("pool_stats");
- for (ceph::unordered_map<int,pool_stat_t>::const_iterator p = pg_pool_sum.begin();
+ for (auto p = pg_pool_sum.begin();
p != pg_pool_sum.end();
++p) {
f->open_object_section("pool_stat");
void PGMap::dump_osd_stats(Formatter *f) const
{
f->open_array_section("osd_stats");
- for (ceph::unordered_map<int32_t,osd_stat_t>::const_iterator q = osd_stat.begin();
+ for (auto q = osd_stat.begin();
q != osd_stat.end();
++q) {
f->open_object_section("osd_stat");
tab.define_column("DEEP_SCRUB_STAMP", TextTable::LEFT, TextTable::RIGHT);
}
- for (ceph::unordered_map<pg_t, pg_stat_t>::const_iterator i = pg_stats.begin();
+ for (auto i = pg_stats.begin();
i != pg_stats.end(); ++i) {
const pg_stat_t &st(i->second);
if (brief) {
tab.define_column("", TextTable::LEFT, TextTable::RIGHT);
}
- for (ceph::unordered_map<int,pool_stat_t>::const_iterator p = pg_pool_sum.begin();
+ for (auto p = pg_pool_sum.begin();
p != pg_pool_sum.end();
++p) {
tab << p->first
tab.define_column("PG_SUM", TextTable::LEFT, TextTable::RIGHT);
tab.define_column("PRIMARY_PG_SUM", TextTable::LEFT, TextTable::RIGHT);
- for (ceph::unordered_map<int32_t,osd_stat_t>::const_iterator p = osd_stat.begin();
+ for (auto p = osd_stat.begin();
p != osd_stat.end();
++p) {
tab << p->first
ceph::unordered_map<pg_t, pg_stat_t>& stuck_pgs) const
{
assert(types != 0);
- for (ceph::unordered_map<pg_t, pg_stat_t>::const_iterator i = pg_stat.begin();
+ for (auto i = pg_stat.begin();
i != pg_stat.end();
++i) {
utime_t val = cutoff; // don't care about >= cutoff so that is infinity
int undersized = 0;
int stale = 0;
- for (ceph::unordered_map<pg_t, pg_stat_t>::const_iterator i = pg_stat.begin();
+ for (auto i = pg_stat.begin();
i != pg_stat.end();
++i) {
if (! (i->second.state & PG_STATE_ACTIVE)) {
ceph::unordered_map<pg_t, pg_stat_t> stuck_pg_stats;
get_stuck_stats(types, cutoff, stuck_pg_stats);
f->open_array_section("stuck_pg_stats");
- for (ceph::unordered_map<pg_t,pg_stat_t>::const_iterator i = stuck_pg_stats.begin();
+ for (auto i = stuck_pg_stats.begin();
i != stuck_pg_stats.end();
++i) {
f->open_object_section("pg_stat");
{
int stuck_types = 0;
- for (vector<string>::iterator i = args.begin(); i != args.end(); ++i) {
+ for (auto i = args.begin(); i != args.end(); ++i) {
if (*i == "inactive")
stuck_types |= PGMap::STUCK_INACTIVE;
else if (*i == "unclean")
void PGMap::dump_osd_perf_stats(Formatter *f) const
{
f->open_array_section("osd_perf_infos");
- for (ceph::unordered_map<int32_t, osd_stat_t>::const_iterator i = osd_stat.begin();
+ for (auto i = osd_stat.begin();
i != osd_stat.end();
++i) {
f->open_object_section("osd");
tab.define_column("osd", TextTable::LEFT, TextTable::RIGHT);
tab.define_column("commit_latency(ms)", TextTable::LEFT, TextTable::RIGHT);
tab.define_column("apply_latency(ms)", TextTable::LEFT, TextTable::RIGHT);
- for (ceph::unordered_map<int32_t, osd_stat_t>::const_iterator i = osd_stat.begin();
+ for (auto i = osd_stat.begin();
i != osd_stat.end();
++i) {
tab << i->first;
void PGMap::dump_osd_blocked_by_stats(Formatter *f) const
{
f->open_array_section("osd_blocked_by_infos");
- for (ceph::unordered_map<int,int>::const_iterator i = blocked_by_sum.begin();
+ for (auto i = blocked_by_sum.begin();
i != blocked_by_sum.end();
++i) {
f->open_object_section("osd");
TextTable tab;
tab.define_column("osd", TextTable::LEFT, TextTable::RIGHT);
tab.define_column("num_blocked", TextTable::LEFT, TextTable::RIGHT);
- for (ceph::unordered_map<int,int>::const_iterator i = blocked_by_sum.begin();
+ for (auto i = blocked_by_sum.begin();
i != blocked_by_sum.end();
++i) {
tab << i->first;
void PGMap::update_pool_deltas(CephContext *cct, const utime_t ts,
const ceph::unordered_map<uint64_t,pool_stat_t>& pg_pool_sum_old)
{
- for (ceph::unordered_map<uint64_t,pool_stat_t>::const_iterator it = pg_pool_sum_old.begin();
+ for (auto it = pg_pool_sum_old.begin();
it != pg_pool_sum_old.end(); ++it) {
update_one_pool_delta(cct, ts, it->first, it->second);
}
void PGMap::get_filtered_pg_stats(uint32_t state, int64_t poolid, int64_t osdid,
bool primary, set<pg_t>& pgs) const
{
- for (ceph::unordered_map<pg_t, pg_stat_t>::const_iterator i = pg_stat.begin();
+ for (auto i = pg_stat.begin();
i != pg_stat.end();
++i) {
if ((poolid >= 0) && (uint64_t(poolid) != i->first.pool()))
void PGMap::dump_filtered_pg_stats(Formatter *f, set<pg_t>& pgs) const
{
f->open_array_section("pg_stats");
- for (set<pg_t>::iterator i = pgs.begin(); i != pgs.end(); ++i) {
+ for (auto i = pgs.begin(); i != pgs.end(); ++i) {
const pg_stat_t& st = pg_stat.at(*i);
f->open_object_section("pg_stat");
f->dump_stream("pgid") << *i;
tab.define_column("LAST_DEEP_SCRUB", TextTable::LEFT, TextTable::RIGHT);
tab.define_column("DEEP_SCRUB_STAMP", TextTable::LEFT, TextTable::RIGHT);
- for (set<pg_t>::iterator i = pgs.begin(); i != pgs.end(); ++i) {
+ for (auto i = pgs.begin(); i != pgs.end(); ++i) {
const pg_stat_t& st = pg_stat.at(*i);
ostringstream reported;
ceph::unordered_map<pg_t,pg_stat_t>& stuck_pgs,
list<pair<health_status_t,string> > *detail)
{
- for (ceph::unordered_map<pg_t,pg_stat_t>::iterator p = stuck_pgs.begin();
+ for (auto p = stuck_pgs.begin();
p != stuck_pgs.end();
++p) {
ostringstream ss;
list<pair<health_status_t,string> > *detail) const
{
map<string,int> note;
- ceph::unordered_map<int,int>::const_iterator p = num_pg_by_state.begin();
- ceph::unordered_map<int,int>::const_iterator p_end = num_pg_by_state.end();
+ auto p = num_pg_by_state.begin();
+ auto p_end = num_pg_by_state.end();
for (; p != p_end; ++p) {
if (p->first & PG_STATE_STALE)
note["stale"] += p->second;
}
} else {
get_stuck_counts(cutoff, note);
- map<string,int>::const_iterator p = note.find("stuck inactive");
+ auto p = note.find("stuck inactive");
if (p != note.end())
num_inactive_pgs += p->second;
p = note.find("stuck stale");
}
if (!note.empty()) {
- for (map<string,int>::iterator p = note.begin(); p != note.end(); ++p) {
+ for (auto p = note.begin(); p != note.end(); ++p) {
ostringstream ss;
ss << p->second << " pgs " << p->first;
summary.push_back(make_pair(HEALTH_WARN, ss.str()));
}
if (detail) {
- for (ceph::unordered_map<pg_t,pg_stat_t>::const_iterator p = pg_stat.begin();
+ for (auto p = pg_stat.begin();
p != pg_stat.end();
++p) {
if ((p->second.state & (PG_STATE_STALE |
// recovery
list<string> sl;
overall_recovery_summary(NULL, &sl);
- for (list<string>::iterator p = sl.begin(); p != sl.end(); ++p) {
+ for (auto p = sl.begin(); p != sl.end(); ++p) {
summary.push_back(make_pair(HEALTH_WARN, "recovery " + *p));
if (detail)
detail->push_back(make_pair(HEALTH_WARN, "recovery " + *p));
}
}
if (!pg_stat.empty()) {
- for (ceph::unordered_map<int,pool_stat_t>::const_iterator p = pg_pool_sum.begin();
+ for (auto p = pg_pool_sum.begin();
p != pg_pool_sum.end();
++p) {
const pg_pool_t *pi = osdmap.get_pg_pool(p->first);
need_check_down_pg_osds->insert(p.first);
// clear out the last_osd_report for this OSD
- map<int, utime_t>::iterator report = last_osd_report->find(p.first);
+ auto report = last_osd_report->find(p.first);
if (report != last_osd_report->end()) {
last_osd_report->erase(report);
}
<< dendl;
unsigned changed = 0;
- for (set<pg_t>::const_iterator p = pg_map.creating_pgs.begin();
+ for (auto p = pg_map.creating_pgs.begin();
p != pg_map.creating_pgs.end();
++p) {
pg_t pgid = *p;
pg_t on = pgid;
- ceph::unordered_map<pg_t,pg_stat_t>::const_iterator q =
- pg_map.pg_stat.find(pgid);
+ auto q = pg_map.pg_stat.find(pgid);
assert(q != pg_map.pg_stat.end());
const pg_stat_t *s = &q->second;