]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/scrub: fmtlib formatter for ScrubMapBuilder
authorRonen Friedman <rfriedma@redhat.com>
Sat, 4 Oct 2025 06:30:07 +0000 (01:30 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 4 Oct 2025 06:30:07 +0000 (01:30 -0500)
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/osd_types.cc
src/osd/osd_types.h

index fc380d6ba8903cfdc1839ccd2c03f2bf35224a81..1d7a665641d89b3b21488057260f609b50eac590 100644 (file)
@@ -7387,6 +7387,21 @@ auto ScrubMap::object::generate_test_instances() -> list<object>
   return o;
 }
 
+std::string ScrubMapBuilder::fmt_print() const
+{
+  const string dtl_size = (pos < ls.size()) ? fmt::format(" {}", ls[pos]) : "";
+  const string dtl_data_pos =
+      (data_pos < 0) ? "" : fmt::format(" byte {}", data_pos);
+  const string dtl_omap_pos =
+      omap_pos.empty() ? "" : fmt::format(" key {}", omap_pos);
+  const string dtl_deep = deep ? " deep" : "";
+  const string dtl_ret = ret ? "" : fmt::format(" {}", ret);
+  return fmt::format(
+      "({}/{}{} metadata_done {}{}{}{}{})", pos, ls.size(), dtl_size,
+      metadata_done, dtl_data_pos, dtl_omap_pos, dtl_deep, dtl_ret);
+}
+
+
 // -- OSDOp --
 
 ostream& operator<<(ostream& out, const OSDOp& op)
index 4012d727d6edc77f0f8655d81e23b42c308305b2..d7c526874b8bd1907c881f1a18f87dff71355138 100644 (file)
@@ -6633,6 +6633,8 @@ struct ScrubMapBuilder {
     omap_bytes = 0;
   }
 
+  std::string fmt_print() const;
+
   friend std::ostream& operator<<(std::ostream& out, const ScrubMapBuilder& pos) {
     out << "(" << pos.pos << "/" << pos.ls.size();
     if (pos.pos < pos.ls.size()) {