From bafa3b731ff93a356fcf60ebbaf0e5f299182992 Mon Sep 17 00:00:00 2001 From: Patrick Donnelly Date: Tue, 5 Nov 2019 19:37:19 -0800 Subject: [PATCH] mds: cleanup type decl and map iteration This is a trivial refactor. Signed-off-by: Patrick Donnelly --- src/mds/FSMap.cc | 6 +++--- src/mds/MDSMap.cc | 38 ++++++++++++++++---------------------- src/mds/MDSMap.h | 36 +++++++++++++++++------------------- 3 files changed, 36 insertions(+), 44 deletions(-) diff --git a/src/mds/FSMap.cc b/src/mds/FSMap.cc index 4c8cfd2955735..e8596f94140f1 100644 --- a/src/mds/FSMap.cc +++ b/src/mds/FSMap.cc @@ -52,10 +52,10 @@ void FSMap::dump(Formatter *f) const f->close_section(); f->open_array_section("standbys"); - for (const auto &i : standby_daemons) { + for (const auto& [gid, info] : standby_daemons) { f->open_object_section("info"); - i.second.dump(f); - f->dump_int("epoch", standby_epochs.at(i.first)); + info.dump(f); + f->dump_int("epoch", standby_epochs.at(gid)); f->close_section(); } f->close_section(); diff --git a/src/mds/MDSMap.cc b/src/mds/MDSMap.cc index 0a82aa128a12d..1cc476f81c21e 100644 --- a/src/mds/MDSMap.cc +++ b/src/mds/MDSMap.cc @@ -165,16 +165,16 @@ void MDSMap::dump(Formatter *f) const f->dump_int("mds", *p); f->close_section(); f->open_object_section("info"); - for (map::const_iterator p = mds_info.begin(); p != mds_info.end(); ++p) { + for (const auto& [gid, info] : mds_info) { char s[25]; // 'gid_' + len(str(ULLONG_MAX)) + '\0' - sprintf(s, "gid_%llu", (long long unsigned)p->first); + sprintf(s, "gid_%llu", (long long unsigned)gid); f->open_object_section(s); - p->second.dump(f); + info.dump(f); f->close_section(); } f->close_section(); f->open_array_section("data_pools"); - for (const auto p: data_pools) + for (const auto& p: data_pools) f->dump_int("pool", p); f->close_section(); f->dump_int("metadata_pool", metadata_pool); @@ -354,19 +354,19 @@ void MDSMap::get_health(list >& summary, if (!is_up(i)) continue; mds_gid_t gid = up.find(i)->second; - map::const_iterator info = mds_info.find(gid); + const auto& info = mds_info.at(gid); stringstream ss; if (is_resolve(i)) - ss << "mds." << info->second.name << " at " << info->second.addrs + ss << "mds." << info.name << " at " << info.addrs << " rank " << i << " is resolving"; if (is_replay(i)) - ss << "mds." << info->second.name << " at " << info->second.addrs + ss << "mds." << info.name << " at " << info.addrs << " rank " << i << " is replaying journal"; if (is_rejoin(i)) - ss << "mds." << info->second.name << " at " << info->second.addrs + ss << "mds." << info.name << " at " << info.addrs << " rank " << i << " is rejoining"; if (is_reconnect(i)) - ss << "mds." << info->second.name << " at " << info->second.addrs + ss << "mds." << info.name << " at " << info.addrs << " rank " << i << " is reconnecting to clients"; if (ss.str().length()) detail->push_back(make_pair(HEALTH_WARN, ss.str())); @@ -387,20 +387,14 @@ void MDSMap::get_health(list >& summary, summary.push_back(make_pair(HEALTH_WARN, ss.str())); } - map::const_iterator m_end = mds_info.end(); set laggy; for (const auto &u : up) { - map::const_iterator m = mds_info.find(u.second); - if (m == m_end) { - std::cerr << "Up rank " << u.first << " GID " << u.second << " not found!" << std::endl; - } - ceph_assert(m != m_end); - const mds_info_t &mds_info(m->second); - if (mds_info.laggy()) { - laggy.insert(mds_info.name); + const auto& info = mds_info.at(u.second); + if (info.laggy()) { + laggy.insert(info.name); if (detail) { std::ostringstream oss; - oss << "mds." << mds_info.name << " at " << mds_info.addrs + oss << "mds." << info.name << " at " << info.addrs << " is laggy/unresponsive"; detail->push_back(make_pair(HEALTH_WARN, oss.str())); } @@ -451,10 +445,10 @@ void MDSMap::get_health_checks(health_check_map_t *checks) const if (!is_up(i)) continue; mds_gid_t gid = up.find(i)->second; - map::const_iterator info = mds_info.find(gid); + const auto& info = mds_info.at(gid); stringstream ss; - ss << "fs " << fs_name << " mds." << info->second.name << " at " - << info->second.addrs << " rank " << i; + ss << "fs " << fs_name << " mds." << info.name << " at " + << info.addrs << " rank " << i; if (is_resolve(i)) ss << " is resolving"; if (is_replay(i)) diff --git a/src/mds/MDSMap.h b/src/mds/MDSMap.h index 7f714a52921d7..4f361e3ea3c4b 100644 --- a/src/mds/MDSMap.h +++ b/src/mds/MDSMap.h @@ -321,8 +321,8 @@ public: return get_enabled() && (is_data_pool(poolid) || metadata_pool == poolid); } - const std::map& get_mds_info() const { return mds_info; } - const mds_info_t& get_mds_info_gid(mds_gid_t gid) const { + const auto& get_mds_info() const { return mds_info; } + const auto& get_mds_info_gid(mds_gid_t gid) const { return mds_info.at(gid); } const mds_info_t& get_mds_info(mds_rank_t m) const { @@ -330,11 +330,9 @@ public: return mds_info.at(up.at(m)); } mds_gid_t find_mds_gid_by_name(std::string_view s) const { - for (std::map::const_iterator p = mds_info.begin(); - p != mds_info.end(); - ++p) { - if (p->second.name == s) { - return p->first; + for (const auto& [gid, info] : mds_info) { + if (info.name == s) { + return gid; } } return MDS_GID_NONE; @@ -511,29 +509,29 @@ public: bool is_dne_gid(mds_gid_t gid) const { return mds_info.count(gid) == 0; } /** - * Get MDS rank state if the rank is up, else STATE_NULL + * Get MDS daemon status by GID */ - DaemonState get_state(mds_rank_t m) const { - std::map::const_iterator u = up.find(m); - if (u == up.end()) + auto get_state_gid(mds_gid_t gid) const { + auto it = mds_info.find(gid); + if (it == mds_info.end()) return STATE_NULL; - return get_state_gid(u->second); + return it->second.state; } /** - * Get MDS daemon status by GID + * Get MDS rank state if the rank is up, else STATE_NULL */ - DaemonState get_state_gid(mds_gid_t gid) const { - std::map::const_iterator i = mds_info.find(gid); - if (i == mds_info.end()) + auto get_state(mds_rank_t m) const { + auto it = up.find(m); + if (it == up.end()) return STATE_NULL; - return i->second.state; + return get_state_gid(it->second); } - const mds_info_t& get_info(const mds_rank_t m) const { + const auto& get_info(mds_rank_t m) const { return mds_info.at(up.at(m)); } - const mds_info_t& get_info_gid(const mds_gid_t gid) const { + const auto& get_info_gid(mds_gid_t gid) const { return mds_info.at(gid); } -- 2.39.5