]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
MDS: CInode: implement validated_data::dump()
authorGreg Farnum <greg@inktank.com>
Thu, 2 Oct 2014 21:51:20 +0000 (14:51 -0700)
committerGreg Farnum <gfarnum@redhat.com>
Fri, 7 Nov 2014 20:41:51 +0000 (12:41 -0800)
Signed-off-by: Greg Farnum <greg@inktank.com>
src/mds/CInode.cc
src/mds/CInode.h

index e98b3e0e4bcf9a016d174914dc782e0de9430ce6..492fc511f513604e5bc021ac9aa96e1519ed635f 100644 (file)
@@ -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
+}
index 0aa8190bb075f6cfd76bdd223a7b55c9392f17e0..5b7ace3c0d7c1d1b7f76816c6355df8a06de3c60 100644 (file)
@@ -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);