]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
include/cephfs: dump optmetadata 62232/head
authorPatrick Donnelly <pdonnell@ibm.com>
Tue, 11 Mar 2025 19:03:59 +0000 (15:03 -0400)
committerPatrick Donnelly <pdonnell@ibm.com>
Thu, 13 Mar 2025 14:09:47 +0000 (10:09 -0400)
For inspection from `dump tree` MDS command.

Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
src/include/cephfs/types.h

index d5452fc6811c89344d2c0ae4f65a2fbdbb6a2aae..349ce193b34d456a3f63f94450604342c58ba04c 100644 (file)
@@ -488,7 +488,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:
@@ -566,7 +566,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 {
@@ -619,7 +621,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 {
@@ -1227,6 +1229,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);
   f->dump_unsigned("remote_ino", remote_ino);