]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: OSDMap: add 'get_up_osds()' function
authorJoao Eduardo Luis <joao.luis@inktank.com>
Wed, 18 Dec 2013 16:26:25 +0000 (16:26 +0000)
committerJoao Eduardo Luis <joao.luis@inktank.com>
Thu, 19 Dec 2013 02:21:05 +0000 (02:21 +0000)
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
src/osd/OSDMap.cc
src/osd/OSDMap.h

index ec255dae78739dc4d3ebb08396b66d1c92465a70..758b15dfdfc7aaac06d3c6517ba94b51a6bd1b01 100644 (file)
@@ -682,6 +682,14 @@ void OSDMap::get_all_osds(set<int32_t>& ls) const
       ls.insert(i);
 }
 
+void OSDMap::get_up_osds(set<int32_t>& ls) const
+{
+  for (int i = 0; i < max_osd; i++) {
+    if (is_up(i))
+      ls.insert(i);
+  }
+}
+
 unsigned OSDMap::get_num_up_osds() const
 {
   unsigned n = 0;
index a04507cecd42aca439b72f3c66ca7caedeee2dca..cd39d50f38f5625b8d9caf27a6c44ebf5fb05521 100644 (file)
@@ -266,6 +266,7 @@ private:
   int calc_num_osds();
 
   void get_all_osds(set<int32_t>& ls) const;
+  void get_up_osds(set<int32_t>& ls) const;
   unsigned get_num_up_osds() const;
   unsigned get_num_in_osds() const;