From: Dan Mick Date: Thu, 11 Jul 2013 00:22:51 +0000 (-0700) Subject: mon: OSDMonitor: osd pool get: move to preproc, add formatted output X-Git-Tag: v0.67-rc1~96 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=17595f341454c012252876495cc46579c8f109d8;p=ceph.git mon: OSDMonitor: osd pool get: move to preproc, add formatted output Move 'osd pool get' handling to preprocess_command() It's a read operation; there's no need for it to be in prepare_command(). Also, add formatted output. Signed-off-by: Joao Eduardo Luis --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 824741b78b0d..1a1884ee7608 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2177,6 +2177,61 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) f->flush(rdata); } ss << "listed " << osdmap.blacklist.size() << " entries"; + + } else if (prefix == "osd pool get") { + string poolstr; + cmd_getval(g_ceph_context, cmdmap, "pool", poolstr); + int64_t pool = osdmap.lookup_pg_pool_name(poolstr.c_str()); + if (pool < 0) { + ss << "unrecognized pool '" << poolstr << "'"; + r = -ENOENT; + goto reply; + } + + const pg_pool_t *p = osdmap.get_pg_pool(pool); + string var; + cmd_getval(g_ceph_context, cmdmap, "var", var); + + if (f) { + f->open_object_section("pool"); + f->dump_string("pool", poolstr); + f->dump_int("pool_id", pool); + + if (var == "pg_num") { + f->dump_int("pg_num", p->get_pg_num()); + } else if (var == "pgp_num") { + f->dump_int("pgp_num", p->get_pgp_num()); + } else if (var == "size") { + f->dump_int("size", p->get_size()); + } else if (var == "min_size") { + f->dump_int("min_size", p->get_min_size()); + } else if (var == "crash_replay_interval") { + f->dump_int("crash_replay_interval", p->get_crash_replay_interval()); + } else if (var == "crush_ruleset") { + f->dump_int("crush_ruleset", p->get_crush_ruleset()); + } + + f->close_section(); + f->flush(rdata); + } else { + if (var == "pg_num") { + ss << "pg_num: " << p->get_pg_num(); + } else if (var == "pgp_num") { + ss << "pgp_num: " << p->get_pgp_num(); + } else if (var == "size") { + ss << "size: " << p->get_size(); + } else if (var == "min_size") { + ss << "min_size: " << p->get_min_size(); + } else if (var == "crash_replay_interval") { + ss << "crash_replay_interval: " << p->get_crash_replay_interval(); + } else if (var == "crush_ruleset") { + ss << "crush_ruleset: " << p->get_crush_ruleset(); + } + rdata.append(ss); + ss.str(""); + } + r = 0; + } else if (prefix == "osd crush rule list" || prefix == "osd crush rule ls") { string format; @@ -3475,42 +3530,6 @@ done: wait_for_finished_proposal(new Monitor::C_Command(mon, m, 0, rs, get_last_committed())); return true; - } else if (prefix == "osd pool get") { - string poolstr; - cmd_getval(g_ceph_context, cmdmap, "pool", poolstr); - int64_t pool = osdmap.lookup_pg_pool_name(poolstr.c_str()); - if (pool < 0) { - ss << "unrecognized pool '" << poolstr << "'"; - err = -ENOENT; - goto reply; - } - - const pg_pool_t *p = osdmap.get_pg_pool(pool); - string var; - cmd_getval(g_ceph_context, cmdmap, "var", var); - if (var == "pg_num") { - ss << "pg_num: " << p->get_pg_num(); - } - if (var == "pgp_num") { - ss << "pgp_num: " << p->get_pgp_num(); - } - if (var == "size") { - ss << "size: " << p->get_size(); - } - if (var == "min_size") { - ss << "min_size: " << p->get_min_size(); - } - if (var == "crash_replay_interval") { - ss << "crash_replay_interval: " << p->get_crash_replay_interval(); - } - if (var == "crush_ruleset") { - ss << "crush_ruleset: " << p->get_crush_ruleset(); - } - rdata.append(ss); - ss.str(""); - err = 0; - goto reply; - } else if (prefix == "osd reweight-by-utilization") { int64_t oload; cmd_getval(g_ceph_context, cmdmap, "oload", oload, int64_t(120));