From dcfeee66cd0a903fd1307c1f9c0cfe1bae6217d4 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 9 Feb 2014 21:18:45 +0100 Subject: [PATCH] crush: add the dump_rule(int ruleset) method And implement dump_rules() using dump_rule(). The indentiation and variable names are intentionaly left as is to not confuse code being moved around and the code changes. Signed-off-by: Loic Dachary --- src/crush/CrushWrapper.cc | 7 ++++++- src/crush/CrushWrapper.h | 1 + src/test/crush/TestCrushWrapper.cc | 9 +++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc index 3aa7a43d5a328..d80adfcb587fc 100644 --- a/src/crush/CrushWrapper.cc +++ b/src/crush/CrushWrapper.cc @@ -1177,6 +1177,12 @@ void CrushWrapper::dump_rules(Formatter *f) const for (int i=0; iopen_object_section("rule"); f->dump_int("rule_id", i); if (get_rule_name(i)) @@ -1236,7 +1242,6 @@ void CrushWrapper::dump_rules(Formatter *f) const } f->close_section(); f->close_section(); - } } void CrushWrapper::list_rules(Formatter *f) const diff --git a/src/crush/CrushWrapper.h b/src/crush/CrushWrapper.h index 1f82e76c9aa45..b753821887053 100644 --- a/src/crush/CrushWrapper.h +++ b/src/crush/CrushWrapper.h @@ -894,6 +894,7 @@ public: void decode_crush_bucket(crush_bucket** bptr, bufferlist::iterator &blp); void dump(Formatter *f) const; void dump_rules(Formatter *f) const; + void dump_rule(int ruleset, Formatter *f) const; void dump_tunables(Formatter *f) const; void list_rules(Formatter *f) const; void dump_tree(const vector<__u32>& w, ostream *out, Formatter *f) const; diff --git a/src/test/crush/TestCrushWrapper.cc b/src/test/crush/TestCrushWrapper.cc index ec74cd0f1e7b5..55c7e86831f0d 100644 --- a/src/test/crush/TestCrushWrapper.cc +++ b/src/test/crush/TestCrushWrapper.cc @@ -526,6 +526,15 @@ TEST(CrushWrapper, dump_rules) { EXPECT_EQ(0, ss.str().find("0NAME")); } + { + Formatter *f = new_formatter("xml"); + c->dump_rule(ruleset, f); + stringstream ss; + f->flush(ss); + delete f; + EXPECT_EQ(0, ss.str().find("0NAME")); + } + delete c; } -- 2.39.5