From a7e9a7b648ee157345db042ef3087a9b2115fc15 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 9 Feb 2014 21:40:08 +0100 Subject: [PATCH] crush: display item name in CrushWrapper::dump_rule() When an item name is available used it instead of displaying the number. Signed-off-by: Loic Dachary --- src/crush/CrushWrapper.cc | 9 ++++++++- src/test/crush/TestCrushWrapper.cc | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/crush/CrushWrapper.cc b/src/crush/CrushWrapper.cc index 3df0147e10c..1c5d54a83ff 100644 --- a/src/crush/CrushWrapper.cc +++ b/src/crush/CrushWrapper.cc @@ -1200,7 +1200,14 @@ void CrushWrapper::dump_rule(int ruleset, Formatter *f) const break; case CRUSH_RULE_TAKE: f->dump_string("op", "take"); - f->dump_int("item", get_rule_arg1(ruleset, j)); + { + int item = get_rule_arg1(ruleset, j); + const char *name = get_item_name(item); + if (name == NULL) + f->dump_int("item", item); + else + f->dump_string("item", name); + } break; case CRUSH_RULE_EMIT: f->dump_string("op", "emit"); diff --git a/src/test/crush/TestCrushWrapper.cc b/src/test/crush/TestCrushWrapper.cc index 55c7e86831f..74509dcd265 100644 --- a/src/test/crush/TestCrushWrapper.cc +++ b/src/test/crush/TestCrushWrapper.cc @@ -533,6 +533,8 @@ TEST(CrushWrapper, dump_rules) { f->flush(ss); delete f; EXPECT_EQ(0, ss.str().find("0NAME")); + EXPECT_NE(string::npos, + ss.str().find("takedefault")); } delete c; -- 2.47.3