From: Greg Farnum Date: Thu, 2 Oct 2014 21:51:20 +0000 (-0700) Subject: MDS: CInode: implement validated_data::dump() X-Git-Tag: v0.89~50^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fa75434faf502ba4fc395d55b4c2eda4775eb567;p=ceph.git MDS: CInode: implement validated_data::dump() Signed-off-by: Greg Farnum --- diff --git a/src/mds/CInode.cc b/src/mds/CInode.cc index e98b3e0e4bcf..492fc511f513 100644 --- a/src/mds/CInode.cc +++ b/src/mds/CInode.cc @@ -3657,3 +3657,33 @@ void CInode::validate_disk_state(CInode::validated_data *results, fin); vc->begin(); } + +void CInode::validated_data::dump(Formatter *f) const +{ + f->open_object_section("results"); + { + f->dump_bool("performed_validation", performed_validation); + f->dump_bool("passed_validation", passed_validation); + f->open_object_section("backtrace"); + { + f->dump_bool("checked", backtrace.checked); + f->dump_bool("passed", backtrace.passed); + f->dump_int("read_ret_val", backtrace.ondisk_read_retval); + f->dump_stream("ondisk_value") << backtrace.ondisk_value; + f->dump_stream("memoryvalue") << backtrace.memory_value; + f->dump_stream("error_str") << backtrace.error_str; + } + f->close_section(); // backtrace + f->open_object_section("raw_rstats"); + { + f->dump_bool("checked", raw_rstats.checked); + f->dump_bool("passed", raw_rstats.passed); + f->dump_int("read_ret_val", raw_rstats.ondisk_read_retval); + f->dump_stream("ondisk_value") << raw_rstats.ondisk_value; + f->dump_stream("memory_value") << raw_rstats.memory_value; + f->dump_stream("error_str") << raw_rstats.error_str; + } + f->close_section(); // raw_rstats + } + f->close_section(); // results +} diff --git a/src/mds/CInode.h b/src/mds/CInode.h index 0aa8190bb075..5b7ace3c0d7c 100644 --- a/src/mds/CInode.h +++ b/src/mds/CInode.h @@ -893,6 +893,8 @@ public: validated_data() : performed_validation(false), passed_validation(false) {} + + void dump(Formatter *f) const; }; /** @@ -909,6 +911,8 @@ public: */ void validate_disk_state(validated_data *results, Context *fin); + static void dump_validation_results(const validated_data& results, + Formatter *f); private: bool _validate_disk_state(class ValidationContinuation *c, int rval, int stage);