From: Dan Mick Date: Thu, 11 Jul 2013 00:26:34 +0000 (-0700) Subject: mon: OSDMonitor: formatter output on 'osd map' X-Git-Tag: v0.67-rc1~95 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e75db7138fbbb16b1bfa58590c90fb203fd7dc33;p=ceph.git mon: OSDMonitor: formatter output on 'osd map' Signed-off-by: Joao Eduardo Luis Reviewed-by: Sage Weil --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 1a1884ee7608..aaaf66183547 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2081,16 +2081,32 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) pg_t mpgid = osdmap.raw_pg_to_pg(pgid); vector up, acting; osdmap.pg_to_up_acting_osds(mpgid, up, acting); + string fullobjname; if (!namespacestr.empty()) fullobjname = namespacestr + string("/") + oid.name; else fullobjname = oid.name; - ds << "osdmap e" << osdmap.get_epoch() - << " pool '" << poolstr << "' (" << pool << ") object '" << fullobjname << "' ->" - << " pg " << pgid << " (" << mpgid << ")" - << " -> up " << up << " acting " << acting; - rdata.append(ds); + if (f) { + f->open_object_section("osd_map"); + f->dump_int("epoch", osdmap.get_epoch()); + f->dump_string("pool", poolstr); + f->dump_int("pool_id", pool); + f->dump_stream("objname") << fullobjname; + f->dump_stream("raw_pgid") << pgid; + f->dump_stream("pgid") << mpgid; + f->dump_stream("up") << up; + f->dump_stream("acting") << acting; + f->close_section(); // osd_map + f->flush(rdata); + } else { + ds << "osdmap e" << osdmap.get_epoch() + << " pool '" << poolstr << "' (" << pool << ")" + << " object '" << fullobjname << "' ->" + << " pg " << pgid << " (" << mpgid << ")" + << " -> up " << up << " acting " << acting; + rdata.append(ds); + } } else if ((prefix == "osd scrub" || prefix == "osd deep-scrub" || prefix == "osd repair")) {