From: Brad Hubbard Date: Wed, 17 Apr 2019 06:13:27 +0000 (+1000) Subject: osd/OSDMap: Replace get_out_osds with get_out_existing_osds X-Git-Tag: v14.2.2~161^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F28072%2Fhead;p=ceph.git osd/OSDMap: Replace get_out_osds with get_out_existing_osds Fixes: http://tracker.ceph.com/issues/39154 Signed-off-by: Brad Hubbard (cherry picked from commit adfb6a595363e2c085c6eac3001fcaa2dce007aa) Conflicts: src/osd/OSDMap.h : Resolved for get_out_existing_osds --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index fbad6fe579d8..8f5fa2170519 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -10433,7 +10433,7 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, (idvec[0] == "any" || idvec[0] == "all" || idvec[0] == "*")) { if (prefix == "osd in") { // touch out osds only - osdmap.get_out_osds(osds); + osdmap.get_out_existing_osds(osds); } else { osdmap.get_all_osds(osds); } diff --git a/src/osd/OSDMap.cc b/src/osd/OSDMap.cc index 15786872b406..62a3ef32e3d6 100644 --- a/src/osd/OSDMap.cc +++ b/src/osd/OSDMap.cc @@ -1391,10 +1391,10 @@ void OSDMap::get_up_osds(set& ls) const } } -void OSDMap::get_out_osds(set& ls) const +void OSDMap::get_out_existing_osds(set& ls) const { for (int i = 0; i < max_osd; i++) { - if (is_out(i)) + if (exists(i) && get_weight(i) == CEPH_OSD_OUT) ls.insert(i); } } diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index 49bc62a365db..9d7d75bec30d 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -714,6 +714,7 @@ public: void get_all_osds(set& ls) const; void get_up_osds(set& ls) const; void get_out_osds(set& ls) const; + void get_out_existing_osds(std::set& ls) const; unsigned get_num_pg_temp() const { return pg_temp->size(); }