summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/crush/CrushWrapper.cc9
-rw-r--r--src/crush/CrushWrapper.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc
index bb60d5b3ca8..a22f23509c9 100644
--- a/src/crush/CrushWrapper.cc
+++ b/src/crush/CrushWrapper.cc
@@ -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);
diff --git a/src/crush/CrushWrapper.h b/src/crush/CrushWrapper.h
index 8bd43f0d925..0b919cba3ec 100644
--- a/src/crush/CrushWrapper.h
+++ b/src/crush/CrushWrapper.h
@@ -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)