From: Loic Dachary Date: Sat, 9 Aug 2014 16:11:03 +0000 (+0200) Subject: osd: improve ruleno/ruleset consistency X-Git-Tag: v0.85~63^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2232%2Fhead;p=ceph.git osd: improve ruleno/ruleset consistency rename variables to reflect when they hold a ruleset and when they hold a rule id / ruleno in the hope to avoid bugs in the future. Signed-off-by: Loic Dachary --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 3b6de571be3..bed0185fe9c 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2797,13 +2797,13 @@ stats_out: osdmap.crush->dump_rules(f.get()); f->close_section(); } else { - int ruleset = osdmap.crush->get_rule_id(name); - if (ruleset < 0) { + int ruleno = osdmap.crush->get_rule_id(name); + if (ruleno < 0) { ss << "unknown crush ruleset '" << name << "'"; - r = ruleset; + r = ruleno; goto reply; } - osdmap.crush->dump_rule(ruleset, f.get()); + osdmap.crush->dump_rule(ruleno, f.get()); } ostringstream rs; f->flush(rs); @@ -4292,7 +4292,9 @@ bool OSDMonitor::prepare_command_impl(MMonCommand *m, mode = "firstn"; if (osdmap.crush->rule_exists(name)) { - ss << "rule " << name << " already exists"; + // The name is uniquely associated to a ruleid and the ruleset it contains + // From the user point of view, the ruleset is more meaningfull. + ss << "ruleset " << name << " already exists"; err = 0; goto reply; } @@ -4301,13 +4303,15 @@ bool OSDMonitor::prepare_command_impl(MMonCommand *m, _get_pending_crush(newcrush); if (newcrush.rule_exists(name)) { - ss << "rule " << name << " already exists"; + // The name is uniquely associated to a ruleid and the ruleset it contains + // From the user point of view, the ruleset is more meaningfull. + ss << "ruleset " << name << " already exists"; err = 0; } else { - int rule = newcrush.add_simple_ruleset(name, root, type, mode, - pg_pool_t::TYPE_REPLICATED, &ss); - if (rule < 0) { - err = rule; + int ruleno = newcrush.add_simple_ruleset(name, root, type, mode, + pg_pool_t::TYPE_REPLICATED, &ss); + if (ruleno < 0) { + err = ruleno; goto reply; } @@ -4474,7 +4478,7 @@ bool OSDMonitor::prepare_command_impl(MMonCommand *m, // complexity now. int ruleset = newcrush.get_rule_mask_ruleset(ruleno); if (osdmap.crush_ruleset_in_use(ruleset)) { - ss << "crush rule " << name << " ruleset " << ruleset << " is in use"; + ss << "crush ruleset " << name << " " << ruleset << " is in use"; err = -EBUSY; goto reply; }