]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: add list_rules() method
authorSage Weil <sage@inktank.com>
Wed, 6 Feb 2013 00:35:43 +0000 (16:35 -0800)
committerSage Weil <sage@inktank.com>
Wed, 6 Feb 2013 00:35:43 +0000 (16:35 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/crush/CrushWrapper.cc
src/crush/CrushWrapper.h

index bb60d5b3ca819921d431aaeac1dcd7af4ac1630a..a22f23509c9afe803864668c674079aa787e3288 100644 (file)
@@ -935,6 +935,15 @@ void CrushWrapper::dump_rules(Formatter *f) const
   }
 }
 
+void CrushWrapper::list_rules(Formatter *f) const
+{
+  for (int rule = 0; rule < get_max_rules(); rule++) {
+    if (!rule_exists(rule))
+      continue;
+    f->dump_string("name", get_rule_name(rule));
+  }
+}
+
 void CrushWrapper::generate_test_instances(list<CrushWrapper*>& o)
 {
   o.push_back(new CrushWrapper);
index 8bd43f0d92518fb3a0ee47f30b8313e236193f5b..0b919cba3ec55ed93301e06a4761ad9d2c436cdb 100644 (file)
@@ -742,6 +742,7 @@ public:
   void decode_crush_bucket(crush_bucket** bptr, bufferlist::iterator &blp);
   void dump(Formatter *f) const;
   void dump_rules(Formatter *f) const;
+  void list_rules(Formatter *f) const;
   static void generate_test_instances(list<CrushWrapper*>& o);
 };
 WRITE_CLASS_ENCODER(CrushWrapper)