From: Sage Weil Date: Thu, 18 Aug 2011 17:07:12 +0000 (-0700) Subject: compatset: dump json X-Git-Tag: v0.34~54 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6d90796fc967794da8b9a6e167d14fc1f29da9d0;p=ceph.git compatset: dump json Signed-off-by: Sage Weil --- diff --git a/src/include/CompatSet.h b/src/include/CompatSet.h index a7cb8f6f2dbf..014d231d8edd 100644 --- a/src/include/CompatSet.h +++ b/src/include/CompatSet.h @@ -17,6 +17,8 @@ #include "include/buffer.h" #include +#include "common/Formatter.h" + #define END_FEATURE CompatSet::Feature(0, "") struct CompatSet { @@ -58,6 +60,16 @@ struct CompatSet { ::decode(mask, bl); ::decode(names, bl); } + + void dump(Formatter *f) const { + for (map::const_iterator p = names.begin(); + p != names.end(); + ++p) { + char s[10]; + snprintf(s, sizeof(s), "%lld", (unsigned long long)p->first); + f->dump_string(s, p->second); + } + } }; FeatureSet compat, ro_compat, incompat; @@ -154,6 +166,18 @@ struct CompatSet { ro_compat.decode(bl); incompat.decode(bl); } + + void dump(Formatter *f) const { + f->open_object_section("compat"); + compat.dump(f); + f->close_section(); + f->open_object_section("ro_compat"); + ro_compat.dump(f); + f->close_section(); + f->open_object_section("incompat"); + incompat.dump(f); + f->close_section(); + } }; WRITE_CLASS_ENCODER(CompatSet) diff --git a/src/mds/MDSMap.cc b/src/mds/MDSMap.cc index e3a948a41d5c..81e18a0da023 100644 --- a/src/mds/MDSMap.cc +++ b/src/mds/MDSMap.cc @@ -90,7 +90,9 @@ void MDSMap::dump(Formatter *f) const f->dump_int("session_autoclose", session_autoclose); f->dump_int("last_failure", last_failure); f->dump_int("last_failure_osd_epoch", last_failure_osd_epoch); - f->dump_stream("compat") << compat; + f->open_object_section("compat"); + compat.dump(f); + f->close_section(); f->dump_int("max_mds", max_mds); f->open_array_section("in"); for (set::const_iterator p = in.begin(); p != in.end(); ++p)