From: Loic Dachary Date: Sun, 9 Feb 2014 20:18:45 +0000 (+0100) Subject: crush: add the dump_rule(int ruleset) method X-Git-Tag: v0.78~184^2~10 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dcfeee66cd0a903fd1307c1f9c0cfe1bae6217d4;p=ceph.git 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 --- diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc index 3aa7a43d5a32..d80adfcb587f 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 1f82e76c9aa4..b75382188705 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 ec74cd0f1e7b..55c7e86831f0 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; }