#include "include/buffer.h"
#include <vector>
+#include "common/Formatter.h"
+
#define END_FEATURE CompatSet::Feature(0, "")
struct CompatSet {
::decode(mask, bl);
::decode(names, bl);
}
+
+ void dump(Formatter *f) const {
+ for (map<uint64_t,string>::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;
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)
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<int32_t>::const_iterator p = in.begin(); p != in.end(); ++p)