]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
include/cephfs: dump optmetadata 62095/head
authorPatrick Donnelly <pdonnell@ibm.com>
Tue, 11 Mar 2025 19:03:59 +0000 (15:03 -0400)
committerPatrick Donnelly <pdonnell@ibm.com>
Mon, 17 Mar 2025 19:43:25 +0000 (15:43 -0400)
For inspection from `dump tree` MDS command.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit 7ad1937547d0fe8c5302cd822d6cad57bdc6140f)

src/include/cephfs/types.h

index 5185e81cebe5caadaaaf571573e2c38aba2a846e..8bae4613133c069b15804ab4049b11ea57328c07 100644 (file)
@@ -490,7 +490,7 @@ public:
     os << "unknown_md_t(len=" << payload.size() << ")";
   }
   void dump(ceph::Formatter* f) const {
-    f->dump_bool("length", payload.length());
+    f->dump_bool("length", payload.size());
   }
 
 private:
@@ -568,7 +568,9 @@ struct optmetadata_singleton {
   }
   void dump(ceph::Formatter* f) const {
     f->dump_int("kind", u64kind);
-    f->dump_object("metadata", optmetadata);
+    f->open_object_section("metadata");
+    std::visit([f](auto& o) { o.dump(f); }, optmetadata);
+    f->close_section();
   }
 
   void encode(ceph::buffer::list& bl, uint64_t features) const {
@@ -621,7 +623,7 @@ struct optmetadata_multiton {
       for (auto& opt : opts) {
         f->dump_object("opt", opt);
       }
-    f->dump_object("opts", opts);
+    f->close_section();
   }
 
   bool has_opt(optkind_t kind) const {
@@ -1211,6 +1213,8 @@ void inode_t<Allocator>::dump(ceph::Formatter *f) const
   quota.dump(f);
   f->close_section();
 
+  f->dump_object("optmetadata", optmetadata);
+
   f->dump_stream("last_scrub_stamp") << last_scrub_stamp;
   f->dump_unsigned("last_scrub_version", last_scrub_version);
 }