]> git.pld-linux.org Git - packages/ceph.git/blob - ceph-libfmt.patch
- updated to 17.2.6
[packages/ceph.git] / ceph-libfmt.patch
1 --- ceph-17.2.3/src/include/types_fmt.h.orig    2022-07-28 23:52:12.000000000 +0200
2 +++ ceph-17.2.3/src/include/types_fmt.h 2022-09-07 18:17:23.995310743 +0200
3 @@ -6,6 +6,8 @@
4   */
5  
6  #include <fmt/format.h>
7 +#include <fmt/ostream.h>
8 +#include <boost/intrusive_ptr.hpp>
9  
10  #include <string_view>
11  
12 @@ -26,3 +28,24 @@ struct fmt::formatter<std::map<A, B, Com
13      return fmt::format_to(ctx.out(), "}}");
14    }
15  };
16 +
17 +template <class A, class B>
18 +struct fmt::formatter<std::pair<A, B>> : ostream_formatter {};
19 +
20 +template <class A, class Alloc>
21 +struct fmt::formatter<std::vector<A, Alloc>> : ostream_formatter {};
22 +
23 +template <typename T>
24 +struct fmt::formatter<std::optional<T>> : ostream_formatter {};
25 +
26 +template <class A, class Comp, class Alloc>
27 +struct fmt::formatter<std::set<A, Comp, Alloc>> : ostream_formatter {};
28 +
29 +template <uint8_t S>
30 +struct fmt::formatter<sha_digest_t<S>> : ostream_formatter {};
31 +
32 +template <typename T>
33 +struct fmt::formatter<boost::intrusive_ptr<T>> : ostream_formatter {};
34 +
35 +template <typename T>
36 +struct fmt::formatter<ceph_le<T>> : ostream_formatter {};
37 --- ceph-17.2.3/src/common/Journald.cc.orig     2022-09-04 18:08:09.890385180 +0200
38 +++ ceph-17.2.3/src/common/Journald.cc  2022-09-07 17:20:33.128007133 +0200
39 @@ -21,6 +21,7 @@
40  #include "common/LogEntry.h"
41  #include "log/Entry.h"
42  #include "log/SubsystemMap.h"
43 +#include "msg/msg_fmt.h"
44  
45  
46  namespace ceph::logging {
47 --- ceph-17.2.3/src/common/hobject_fmt.h.orig   2022-07-28 23:52:12.000000000 +0200
48 +++ ceph-17.2.3/src/common/hobject_fmt.h        2022-09-07 18:23:08.743232468 +0200
49 @@ -50,3 +50,9 @@ template <> struct fmt::formatter<hobjec
50                           ho.get_bitwise_key_u32(), v, ho.snap);
51    }
52  };
53 +
54 +template <>
55 +struct fmt::formatter<ghobject_t> : ostream_formatter {};
56 +
57 +template <>
58 +struct fmt::formatter<snapid_t> : ostream_formatter {};
59 --- ceph-17.2.3/src/crimson/admin/admin_socket.cc.orig  2022-07-28 23:52:12.000000000 +0200
60 +++ ceph-17.2.3/src/crimson/admin/admin_socket.cc       2022-09-08 17:39:11.969465247 +0200
61 @@ -19,6 +19,7 @@
62  #include "messages/MCommandReply.h"
63  #include "crimson/common/log.h"
64  #include "crimson/net/Socket.h"
65 +#include "include/types_fmt.h"
66  
67  using namespace crimson::common;
68  
69 --- ceph-17.2.3/src/crimson/admin/osd_admin.cc.orig     2022-09-04 21:48:44.290691903 +0200
70 +++ ceph-17.2.3/src/crimson/admin/osd_admin.cc  2022-09-08 21:32:52.391069817 +0200
71 @@ -12,6 +12,7 @@
72  #include <seastar/core/scollectd_api.hh>
73  
74  #include "common/config.h"
75 +#include "common/hobject_fmt.h"
76  #include "crimson/admin/admin_socket.h"
77  #include "crimson/common/log.h"
78  #include "crimson/osd/exceptions.h"
79 --- ceph-17.2.3/src/crimson/admin/pg_commands.cc.orig   2022-07-28 23:52:12.000000000 +0200
80 +++ ceph-17.2.3/src/crimson/admin/pg_commands.cc        2022-09-14 20:59:47.803920736 +0200
81 @@ -13,6 +13,7 @@
82  #include "crimson/admin/admin_socket.h"
83  #include "crimson/osd/osd.h"
84  #include "crimson/osd/pg.h"
85 +#include "osd/osd_types_fmt.h"
86  
87  
88  using crimson::osd::OSD;
89 --- ceph-17.2.3/src/crimson/common/gated.h.orig 2022-07-28 23:52:12.000000000 +0200
90 +++ ceph-17.2.3/src/crimson/common/gated.h      2022-09-05 17:55:05.174809923 +0200
91 @@ -28,11 +28,11 @@ class Gated {
92      ).handle_exception([what, &who] (std::exception_ptr eptr) {
93        if (*eptr.__cxa_exception_type() == typeid(system_shutdown_exception)) {
94         gated_logger().debug(
95 -           "{}, {} skipped, system shutdown", who, what);
96 +           "{}, {} skipped, system shutdown", fmt::streamed(who), what);
97         return;
98        }
99        gated_logger().error(
100 -          "{} dispatch() {} caught exception: {}", who, what, eptr);
101 +          "{} dispatch() {} caught exception: {}", fmt::streamed(who), what, eptr);
102        assert(*eptr.__cxa_exception_type()
103         == typeid(seastar::gate_closed_exception));
104      });
105 --- ceph-17.2.3/src/crimson/common/logclient.cc.orig    2022-07-28 23:52:12.000000000 +0200
106 +++ ceph-17.2.3/src/crimson/common/logclient.cc 2022-09-08 16:51:12.587841466 +0200
107 @@ -1,5 +1,6 @@
108  #include "crimson/common/logclient.h"
109  #include "include/str_map.h"
110 +#include "include/types_fmt.h"
111  #include "messages/MLog.h"
112  #include "messages/MLogAck.h"
113  #include "messages/MMonGetVersion.h"
114 @@ -286,7 +287,7 @@ MessageURef LogClient::_get_mon_log_mess
115      ceph_assert(log_iter != log_queue.end());
116      out_log_queue.push_back(*log_iter);
117      last_log_sent = log_iter->seq;
118 -    logger().debug(" will send {}", *log_iter);
119 +    logger().debug(" will send {}", fmt::streamed(*log_iter));
120      ++log_iter;
121    }
122    
123 @@ -332,7 +333,7 @@ const EntityName& LogClient::get_myname(
124  
125  seastar::future<> LogClient::handle_log_ack(Ref<MLogAck> m)
126  {
127 -  logger().debug("handle_log_ack {}", *m);
128 +  logger().debug("handle_log_ack {}", fmt::streamed(*m));
129  
130    version_t last = m->last;
131  
132 @@ -341,7 +342,7 @@ seastar::future<> LogClient::handle_log_
133      const LogEntry &entry(*q);
134      if (entry.seq > last)
135        break;
136 -    logger().debug(" logged {}", entry);
137 +    logger().debug(" logged {}", fmt::streamed(entry));
138      q = log_queue.erase(q);
139    }
140    return seastar::now();
141 --- ceph-17.2.3/src/crimson/mgr/client.cc.orig  2022-07-28 23:52:12.000000000 +0200
142 +++ ceph-17.2.3/src/crimson/mgr/client.cc       2022-09-05 06:26:48.430701643 +0200
143 @@ -134,7 +134,7 @@ seastar::future<> Client::handle_mgr_map
144  seastar::future<> Client::handle_mgr_conf(crimson::net::ConnectionRef,
145                                            Ref<MMgrConfigure> m)
146  {
147 -  logger().info("{} {}", __func__, *m);
148 +  logger().info("{} {}", __func__, fmt::streamed(*m));
149  
150    auto report_period = std::chrono::seconds{m->stats_period};
151    if (report_period.count()) {
152 --- ceph-17.2.3/src/crimson/mon/MonClient.cc.orig       2022-07-28 23:52:12.000000000 +0200
153 +++ ceph-17.2.3/src/crimson/mon/MonClient.cc    2022-09-08 19:41:15.770921116 +0200
154 @@ -14,6 +14,8 @@
155  #include "auth/RotatingKeyRing.h"
156  
157  #include "common/hostname.h"
158 +#include "include/types_fmt.h"
159 +#include "msg/msg_fmt.h"
160  
161  #include "crimson/auth/KeyRing.h"
162  #include "crimson/common/config_proxy.h"
163 @@ -217,7 +219,7 @@ Connection::do_auth_single(Connection::r
164      break;
165    case request_t::general:
166      if (int ret = auth->build_request(m->auth_payload); ret) {
167 -      logger().error("missing/bad key for '{}'", local_conf()->name);
168 +      logger().error("missing/bad key for '{}'", fmt::streamed(local_conf()->name));
169        throw std::system_error(make_error_code(
170          crimson::net::error::negotiation_failure));
171      }
172 @@ -225,7 +225,7 @@ Connection::do_auth_single(Connection::r
173    default:
174      assert(0);
175    }
176 -  logger().info("sending {}", *m);
177 +  logger().info("sending {}", fmt::streamed(*m));
178    return conn->send(std::move(m)).then([this] {
179      logger().info("waiting");
180      return auth_reply.get_shared_future();
181 @@ -237,8 +237,8 @@ Connection::do_auth_single(Connection::r
182      }
183      logger().info(
184        "do_auth_single: mon {} => {} returns {}: {}",
185 -      conn->get_messenger()->get_myaddr(),
186 -      conn->get_peer_addr(), *m, m->result);
187 +      conn->get_messenger()->get_myaddr(),
188 +      conn->get_peer_addr(), fmt::streamed(*m), m->result);
189      auto p = m->result_bl.cbegin();
190      auto ret = auth->handle_response(m->result, p,
191                                      nullptr, nullptr);
192 @@ -807,8 +807,8 @@ seastar::future<> Client::handle_auth_re
193  {
194    logger().info(
195      "handle_auth_reply mon {} => {} returns {}: {}",
196 -    conn->get_messenger()->get_myaddr(),
197 -    conn->get_peer_addr(), *m, m->result);
198 +    conn->get_messenger()->get_myaddr(),
199 +    conn->get_peer_addr(), fmt::streamed(*m), m->result);
200    auto found = std::find_if(pending_conns.begin(), pending_conns.end(),
201                              [peer_addr = conn->get_peer_addr()](auto& mc) {
202                                return mc->is_my_peer(peer_addr);
203 --- ceph-17.2.3/src/crimson/net/Connection.h.orig       2022-07-28 23:52:12.000000000 +0200
204 +++ ceph-17.2.3/src/crimson/net/Connection.h    2022-09-06 16:55:17.884653125 +0200
205 @@ -173,3 +173,6 @@ inline std::ostream& operator<<(std::ost
206  }
207  
208  } // namespace crimson::net
209 +
210 +template <>
211 +struct fmt::formatter<crimson::net::Connection> : ostream_formatter {};
212 --- ceph-17.2.3/src/crimson/net/SocketConnection.h.orig 2022-07-28 23:52:12.000000000 +0200
213 +++ ceph-17.2.3/src/crimson/net/SocketConnection.h      2022-09-08 21:30:24.173383344 +0200
214 @@ -104,3 +104,6 @@ class SocketConnection : public Connecti
215  };
216  
217  } // namespace crimson::net
218 +
219 +template <>
220 +struct fmt::formatter<crimson::net::SocketConnection> : ostream_formatter {};
221 --- ceph-17.2.3/src/crimson/net/ProtocolV2.cc.orig      2022-07-28 23:52:12.000000000 +0200
222 +++ ceph-17.2.3/src/crimson/net/ProtocolV2.cc   2022-09-09 19:40:17.957323611 +0200
223 @@ -7,6 +7,7 @@
224  #include <fmt/format.h>
225  #include "include/msgr.h"
226  #include "include/random.h"
227 +#include "msg/msg_fmt.h"
228  
229  #include "crimson/auth/AuthClient.h"
230  #include "crimson/auth/AuthServer.h"
231 @@ -604,7 +605,7 @@ seastar::future<> ProtocolV2::client_aut
232        return handle_auth_reply();
233      });
234    } catch (const crimson::auth::error& e) {
235 -    logger().error("{} get_initial_auth_request returned {}", conn, e);
236 +    logger().error("{} get_initial_auth_request returned {}", conn, fmt::streamed(e));
237      abort_in_close(*this, true);
238      return seastar::now();
239    }
240 --- ceph-17.2.3/src/crimson/net/Socket.cc.orig  2022-07-28 23:52:12.000000000 +0200
241 +++ ceph-17.2.3/src/crimson/net/Socket.cc       2022-09-08 21:47:01.195369872 +0200
242 @@ -5,6 +5,7 @@
243  
244  #include <seastar/core/when_all.hh>
245  
246 +#include "msg/msg_fmt.h"
247  #include "crimson/common/log.h"
248  #include "Errors.h"
249  
250 --- ceph-17.2.3/src/crimson/net/SocketMessenger.cc.orig 2022-07-28 23:52:12.000000000 +0200
251 +++ ceph-17.2.3/src/crimson/net/SocketMessenger.cc      2022-09-08 21:28:14.640010471 +0200
252 @@ -18,11 +18,16 @@
253  
254  #include <tuple>
255  #include <boost/functional/hash.hpp>
256 +#include <fmt/os.h>
257  
258  #include "auth/Auth.h"
259 +#include "msg/msg_fmt.h"
260  #include "Errors.h"
261  #include "Socket.h"
262  
263 +template <>
264 +struct fmt::formatter<crimson::net::SocketMessenger> : ostream_formatter {};
265 +
266  namespace {
267    seastar::logger& logger() {
268      return crimson::get_logger(ceph_subsys_ms);
269 --- ceph-17.2.3/src/crimson/os/cyanstore/cyan_store.cc.orig     2022-07-28 23:52:12.000000000 +0200
270 +++ ceph-17.2.3/src/crimson/os/cyanstore/cyan_store.cc  2022-09-12 21:46:02.891292495 +0200
271 @@ -7,8 +7,10 @@
272  #include <fmt/format.h>
273  #include <fmt/ostream.h>
274  
275 +#include "common/hobject_fmt.h"
276  #include "common/safe_io.h"
277  #include "os/Transaction.h"
278 +#include "osd/osd_types_fmt.h"
279  
280  #include "crimson/common/buffer_io.h"
281  #include "crimson/common/config_proxy.h"
282 @@ -115,7 +117,7 @@ CyanStore::mkfs_ertr::future<> CyanStore
283        } else {
284          osd_fsid = new_osd_fsid;
285        }
286 -      return write_meta("fsid", fmt::format("{}", osd_fsid));
287 +      return write_meta("fsid", fmt::format("{}", fmt::streamed(osd_fsid)));
288      } else if (r < 0) {
289        return crimson::stateful_ec{ singleton_ec<read_meta_errmsg>() };
290      } else {
291 @@ -123,7 +125,7 @@ CyanStore::mkfs_ertr::future<> CyanStore
292        if (!osd_fsid.parse(fsid_str.c_str())) {
293          return crimson::stateful_ec{ singleton_ec<parse_fsid_errmsg>() };
294        } else if (osd_fsid != new_osd_fsid) {
295 -        logger().error("on-disk fsid {} != provided {}", osd_fsid, new_osd_fsid);
296 +        logger().error("on-disk fsid {} != provided {}", fmt::streamed(osd_fsid), fmt::streamed(new_osd_fsid));
297          return crimson::stateful_ec{ singleton_ec<match_ofsid_errmsg>() };
298        } else {
299         return mkfs_ertr::now();
300 --- ceph-17.2.3/src/crimson/os/seastore/cache.h.orig    2022-07-28 23:52:12.000000000 +0200
301 +++ ceph-17.2.3/src/crimson/os/seastore/cache.h 2022-09-14 16:25:29.215651215 +0200
302 @@ -8,6 +8,7 @@
303  #include "seastar/core/shared_future.hh"
304  
305  #include "include/buffer.h"
306 +#include "include/types_fmt.h"
307  
308  #include "crimson/os/seastore/logging.h"
309  #include "crimson/os/seastore/seastore_types.h"
310 @@ -330,7 +331,7 @@ public:
311         } else {
312           SUBDEBUGT(seastore_cache,
313             "Read extent at offset {} in cache: {}",
314 -           t, offset, *ref);
315 +           t, offset, fmt::streamed(*ref));
316           touch_extent(*ref);
317           t.add_to_read_set(ref);
318           return get_extent_iertr::make_ready_future<TCachedExtentRef<T>>(
319 --- ceph-17.2.3/src/crimson/os/seastore/cached_extent.h.orig    2022-07-28 23:52:12.000000000 +0200
320 +++ ceph-17.2.3/src/crimson/os/seastore/cached_extent.h 2022-09-10 07:10:31.584611548 +0200
321 @@ -837,3 +837,12 @@ using lextent_list_t = addr_extent_list_
322    laddr_t, TCachedExtentRef<T>>;
323  
324  }
325 +
326 +template <>
327 +struct fmt::formatter<crimson::os::seastore::CachedExtent> : ostream_formatter {};
328 +
329 +template <>
330 +struct fmt::formatter<crimson::os::seastore::LogicalCachedExtent> : ostream_formatter {};
331 +
332 +template <>
333 +struct fmt::formatter<crimson::os::seastore::LBAPin> : ostream_formatter {};
334 --- ceph-17.2.3/src/crimson/os/seastore/object_data_handler.h.orig      2022-07-28 23:52:12.000000000 +0200
335 +++ ceph-17.2.3/src/crimson/os/seastore/object_data_handler.h   2022-09-11 17:30:31.253984098 +0200
336 @@ -119,3 +119,6 @@ private:
337  };
338  
339  }
340 +
341 +template <>
342 +struct fmt::formatter<crimson::os::seastore::ObjectDataBlock> : ostream_formatter {};
343 --- ceph-17.2.3/src/crimson/os/seastore/onode.h.orig    2022-07-28 23:52:12.000000000 +0200
344 +++ ceph-17.2.3/src/crimson/os/seastore/onode.h 2022-09-11 18:15:39.632135931 +0200
345 @@ -81,3 +81,6 @@ public:
346  std::ostream& operator<<(std::ostream &out, const Onode &rhs);
347  using OnodeRef = boost::intrusive_ptr<Onode>;
348  }
349 +
350 +template <>
351 +struct fmt::formatter<crimson::os::seastore::Onode> : ostream_formatter {};
352 --- ceph-17.2.3/src/crimson/os/seastore/root_block.h.orig       2022-07-28 23:52:12.000000000 +0200
353 +++ ceph-17.2.3/src/crimson/os/seastore/root_block.h    2022-09-09 21:38:11.463439115 +0200
354 @@ -88,3 +88,6 @@ struct RootBlock : CachedExtent {
355  using RootBlockRef = RootBlock::Ref;
356  
357  }
358 +
359 +template <>
360 +struct fmt::formatter<crimson::os::seastore::RootBlock> : ostream_formatter {};
361 --- ceph-17.2.3/src/crimson/os/seastore/seastore_types.h.orig   2022-07-28 23:52:12.000000000 +0200
362 +++ ceph-17.2.3/src/crimson/os/seastore/seastore_types.h        2022-09-10 07:02:01.794683539 +0200
363 @@ -8,6 +8,7 @@
364  #include <optional>
365  #include <iostream>
366  #include <vector>
367 +#include <fmt/ostream.h>
368  
369  #include "include/byteorder.h"
370  #include "include/denc.h"
371 @@ -1589,3 +1590,30 @@ struct denc_traits<crimson::os::seastore
372             reinterpret_cast<char*>(&o));
373    }
374  };
375 +
376 +template <>
377 +struct fmt::formatter<crimson::os::seastore::segment_id_t> : ostream_formatter {};
378 +
379 +template <>
380 +struct fmt::formatter<crimson::os::seastore::paddr_t> : ostream_formatter {};
381 +
382 +template <>
383 +struct fmt::formatter<crimson::os::seastore::device_type_t> : ostream_formatter {};
384 +
385 +template <>
386 +struct fmt::formatter<crimson::os::seastore::journal_seq_t> : ostream_formatter {};
387 +
388 +template <>
389 +struct fmt::formatter<crimson::os::seastore::delta_info_t> : ostream_formatter {};
390 +
391 +template <>
392 +struct fmt::formatter<crimson::os::seastore::laddr_list_t> : ostream_formatter {};
393 +
394 +template <>
395 +struct fmt::formatter<crimson::os::seastore::extent_types_t> : ostream_formatter {};
396 +
397 +template <>
398 +struct fmt::formatter<crimson::os::seastore::extent_info_t> : ostream_formatter {};
399 +
400 +template <>
401 +struct fmt::formatter<crimson::os::seastore::segment_header_t> : ostream_formatter {};
402 --- ceph-17.2.3/src/crimson/os/seastore/segment_manager.h.orig  2022-07-28 23:52:12.000000000 +0200
403 +++ ceph-17.2.3/src/crimson/os/seastore/segment_manager.h       2022-09-09 20:43:03.983800973 +0200
404 @@ -261,3 +261,12 @@ WRITE_CLASS_DENC(
405  WRITE_CLASS_DENC(
406    crimson::os::seastore::block_sm_superblock_t
407  )
408 +
409 +template <>
410 +struct fmt::formatter<crimson::os::seastore::block_sm_superblock_t> : ostream_formatter {};
411 +
412 +template <>
413 +struct fmt::formatter<crimson::os::seastore::segment_manager_config_t> : ostream_formatter {};
414 +
415 +template <>
416 +struct fmt::formatter<crimson::os::seastore::Segment::segment_state_t> : ostream_formatter {};
417 --- ceph-17.2.3/src/crimson/os/seastore/transaction.h.orig      2022-07-28 23:52:12.000000000 +0200
418 +++ ceph-17.2.3/src/crimson/os/seastore/transaction.h   2022-09-09 21:34:09.507446054 +0200
419 @@ -4,6 +4,7 @@
420  #pragma once
421  
422  #include <iostream>
423 +#include <fmt/ostream.h>
424  
425  #include <boost/intrusive/list.hpp>
426  
427 @@ -505,3 +506,6 @@ template <typename T>
428  using with_trans_ertr = typename T::base_ertr::template extend<crimson::ct_error::eagain>;
429  
430  }
431 +
432 +template <>
433 +struct fmt::formatter<crimson::os::seastore::Transaction::src_t> : ostream_formatter {};
434 --- ceph-17.2.3/src/crimson/os/seastore/transaction_manager.h.orig      2022-07-28 23:52:12.000000000 +0200
435 +++ ceph-17.2.3/src/crimson/os/seastore/transaction_manager.h   2022-09-14 16:25:42.966374227 +0200
436 @@ -163,7 +163,7 @@ public:
437         lba_manager->add_pin(extent.get_pin());
438        }
439      ).si_then([FNAME, &t](auto ref) mutable -> ret {
440 -      SUBDEBUGT(seastore_tm, "got extent {}", t, *ref);
441 +      SUBDEBUGT(seastore_tm, "got extent {}", t, fmt::streamed(*ref));
442        return pin_to_extent_ret<T>(
443         interruptible::ready_future_marker{},
444         std::move(ref));
445 @@ -313,7 +313,7 @@ public:
446        ext->set_pin(std::move(ref));
447        stats.extents_allocated_total++;
448        stats.extents_allocated_bytes += len;
449 -      SUBDEBUGT(seastore_tm, "new extent: {}, laddr_hint: {}", t, *ext, laddr_hint);
450 +      SUBDEBUGT(seastore_tm, "new extent: {}, laddr_hint: {}", t, fmt::streamed(*ext), laddr_hint);
451        return alloc_extent_iertr::make_ready_future<TCachedExtentRef<T>>(
452         std::move(ext));
453      });
454 --- ceph-17.2.3/src/crimson/os/seastore/extent_reader.cc.orig   2022-07-28 23:52:12.000000000 +0200
455 +++ ceph-17.2.3/src/crimson/os/seastore/extent_reader.cc        2022-09-09 21:47:09.444920952 +0200
456 @@ -44,7 +44,7 @@ ExtentReader::read_segment_header(segmen
457        logger().debug(
458         "ExtentReader::read_segment_header: segment {} unable to decode "
459         "header, skipping -- {}",
460 -       segment, e);
461 +       segment, fmt::streamed(e));
462        return crimson::ct_error::enodata::make();
463      }
464      logger().debug(
465 --- ceph-17.2.3/src/crimson/os/seastore/journal.cc.orig 2022-07-28 23:52:12.000000000 +0200
466 +++ ceph-17.2.3/src/crimson/os/seastore/journal.cc      2022-09-09 21:45:01.061536954 +0200
467 @@ -2,6 +2,7 @@
468  // vim: ts=8 sw=2 smarttab
469  
470  #include <iostream>
471 +#include <fmt/os.h>
472  
473  #include <boost/iterator/counting_iterator.hpp>
474  
475 --- ceph-17.2.3/src/crimson/os/seastore/seastore.cc.orig        2022-07-28 23:52:12.000000000 +0200
476 +++ ceph-17.2.3/src/crimson/os/seastore/seastore.cc     2022-09-12 21:36:15.057012562 +0200
477 @@ -13,9 +13,11 @@
478  #include <seastar/core/fstream.hh>
479  #include <seastar/core/shared_mutex.hh>
480  
481 +#include "common/hobject_fmt.h"
482  #include "common/safe_io.h"
483  #include "include/stringify.h"
484  #include "os/Transaction.h"
485 +#include "osd/osd_types_fmt.h"
486  
487  #include "crimson/common/buffer_io.h"
488  
489 @@ -124,7 +126,7 @@ void SeaStore::register_metrics()
490  
491    for (auto& [op_type, label] : labels_by_op_type) {
492      auto desc = fmt::format("latency of seastore operation (optype={})",
493 -                            op_type);
494 +                            static_cast<uint8_t>(op_type));
495      metrics.add_group(
496        "seastore",
497        {
498 --- ceph-17.2.3/src/crimson/os/seastore/seastore_types.cc.orig  2022-07-28 23:52:12.000000000 +0200
499 +++ ceph-17.2.3/src/crimson/os/seastore/seastore_types.cc       2022-09-09 20:12:53.796095116 +0200
500 @@ -12,6 +12,9 @@ seastar::logger& logger() {
501  
502  }
503  
504 +template <>
505 +struct fmt::formatter<ceph::buffer::error> : ostream_formatter {};
506 +
507  namespace crimson::os::seastore {
508  
509  std::ostream& operator<<(std::ostream& out, const seastore_meta_t& meta)
510 --- ceph-17.2.3/src/crimson/os/seastore/collection_manager/collection_flat_node.h.orig  2022-07-28 23:52:12.000000000 +0200
511 +++ ceph-17.2.3/src/crimson/os/seastore/collection_manager/collection_flat_node.h       2022-09-11 14:36:42.815251945 +0200
512 @@ -182,3 +182,6 @@ struct CollectionNode
513  };
514  using CollectionNodeRef = CollectionNode::CollectionNodeRef;
515  }
516 +
517 +template <>
518 +struct fmt::formatter<crimson::os::seastore::collection_manager::CollectionNode> : ostream_formatter {};
519 --- ceph-17.2.3/src/crimson/os/seastore/collection_manager/collection_flat_node.cc.orig 2022-07-28 23:52:12.000000000 +0200
520 +++ ceph-17.2.3/src/crimson/os/seastore/collection_manager/collection_flat_node.cc      2022-09-12 21:40:23.250020447 +0200
521 @@ -3,6 +3,7 @@
522  
523  #include "include/buffer.h"
524  #include "osd/osd_types.h"
525 +#include "osd/osd_types_fmt.h"
526  #include "crimson/os/seastore/transaction_manager.h"
527  #include "crimson/os/seastore/collection_manager/collection_flat_node.h"
528  
529 --- ceph-17.2.3/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h.orig        2022-07-28 23:52:12.000000000 +0200
530 +++ ceph-17.2.3/src/crimson/os/seastore/lba_manager/btree/btree_range_pin.h     2022-09-10 07:02:50.047200663 +0200
531 @@ -4,6 +4,7 @@
532  #pragma once
533  
534  #include <boost/intrusive/set.hpp>
535 +#include <fmt/ostream.h>
536  
537  #include "crimson/os/seastore/cached_extent.h"
538  #include "crimson/os/seastore/seastore_types.h"
539 @@ -290,3 +291,6 @@ public:
540  };
541  
542  }
543 +
544 +template <>
545 +struct fmt::formatter<crimson::os::seastore::lba_manager::btree::btree_range_pin_t> : ostream_formatter {};
546 --- ceph-17.2.3/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h.orig 2022-07-28 23:52:12.000000000 +0200
547 +++ ceph-17.2.3/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h      2022-09-10 07:35:43.533763577 +0200
548 @@ -563,3 +563,9 @@ struct LBALeafNode
549  using LBALeafNodeRef = TCachedExtentRef<LBALeafNode>;
550  
551  }
552 +
553 +template <>
554 +struct fmt::formatter<crimson::os::seastore::lba_manager::btree::LBAInternalNode> : ostream_formatter {};
555 +
556 +template <>
557 +struct fmt::formatter<crimson::os::seastore::lba_manager::btree::LBALeafNode> : ostream_formatter {};
558 --- ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h.orig       2022-07-28 23:52:12.000000000 +0200
559 +++ ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node.h    2022-09-10 08:25:44.417337428 +0200
560 @@ -114,3 +114,6 @@ omap_load_extent_iertr::future<OMapNodeR
561  omap_load_extent(omap_context_t oc, laddr_t laddr, depth_t depth);
562  
563  }
564 +
565 +template <>
566 +struct fmt::formatter<crimson::os::seastore::omap_manager::OMapNode> : ostream_formatter {};
567 --- ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h.orig  2022-07-28 23:52:12.000000000 +0200
568 +++ ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.h       2022-09-10 13:55:41.723892064 +0200
569 @@ -235,3 +235,15 @@ using OMapLeafNodeRef = OMapLeafNode::OM
570  std::ostream &operator<<(std::ostream &out, const omap_inner_key_t &rhs);
571  std::ostream &operator<<(std::ostream &out, const omap_leaf_key_t &rhs);
572  }
573 +
574 +template <>
575 +struct fmt::formatter<crimson::os::seastore::omap_manager::OMapInnerNode> : ostream_formatter {};
576 +
577 +template <>
578 +struct fmt::formatter<crimson::os::seastore::omap_manager::OMapLeafNode> : ostream_formatter {};
579 +
580 +template <>
581 +struct fmt::formatter<boost::intrusive_ptr<crimson::os::seastore::omap_manager::OMapInnerNode>> : ostream_formatter {};
582 +
583 +template <>
584 +struct fmt::formatter<boost::intrusive_ptr<crimson::os::seastore::omap_manager::OMapLeafNode>> : ostream_formatter {};
585 --- ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc.orig   2022-07-28 23:52:12.000000000 +0200
586 +++ ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/btree_omap_manager.cc        2022-09-10 07:53:44.517113694 +0200
587 @@ -130,7 +130,7 @@ BtreeOMapManager::omap_set_key(
588    const std::string &key,
589    const ceph::bufferlist &value)
590  {
591 -  logger().debug("{}: {} -> {}", __func__, key, value);
592 +  logger().debug("{}: {} -> {}", __func__, key, fmt::streamed(value));
593    return get_omap_root(
594      get_omap_context(t, omap_root.hint),
595      omap_root
596 --- ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc.orig 2022-07-28 23:52:12.000000000 +0200
597 +++ ceph-17.2.3/src/crimson/os/seastore/omap_manager/btree/omap_btree_node_impl.cc      2022-09-10 12:21:38.205877267 +0200
598 @@ -136,7 +136,7 @@ OMapInnerNode::insert(
599    const std::string &key,
600    const ceph::bufferlist &value)
601  {
602 -  logger().debug("OMapInnerNode: {}  {}->{}",  __func__, key, value);
603 +  logger().debug("OMapInnerNode: {}  {}->{}",  __func__, key, fmt::streamed(value));
604    auto child_pt = get_containing_child(key);
605    assert(child_pt != iter_end());
606    auto laddr = child_pt->get_val();
607 @@ -432,7 +432,7 @@ OMapLeafNode::insert(
608    const std::string &key,
609    const ceph::bufferlist &value)
610  {
611 -  logger().debug("OMapLeafNode: {}, {} -> {}", __func__, key, value);
612 +  logger().debug("OMapLeafNode: {}, {} -> {}", __func__, key, fmt::streamed(value));
613    bool overflow = extent_will_overflow(key.size(), value.length());
614    if (!overflow) {
615      if (!is_pending()) {
616 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h.orig 2022-07-28 23:52:12.000000000 +0200
617 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h      2022-09-10 21:53:11.326721372 +0200
618 @@ -141,7 +141,7 @@ class DeltaRecorderT final: public Delta
619          SUBDEBUG(seastore_onode, "decoding SPLIT ...");
620          auto split_at = StagedIterator::decode(
621              mut.get_read(), mut.get_length(), delta);
622 -        SUBDEBUG(seastore_onode, "apply split_at={} ...", split_at);
623 +        SUBDEBUG(seastore_onode, "apply split_at={} ...", fmt::streamed(split_at));
624          layout_t::split(mut, stage, split_at);
625          break;
626        }
627 @@ -159,7 +159,7 @@ class DeltaRecorderT final: public Delta
628          SUBDEBUG(seastore_onode,
629              "apply split_at={}, {}, {}, insert_pos({}), insert_stage={}, "
630              "insert_size={}B ...",
631 -            split_at, key, value, insert_pos, insert_stage, insert_size);
632 +            fmt::streamed(split_at), key, value, insert_pos, insert_stage, insert_size);
633          layout_t::template split_insert<KeyT::HOBJ>(
634            mut, stage, split_at, key, value, insert_pos, insert_stage, insert_size);
635          break;
636 @@ -206,13 +206,13 @@ class DeltaRecorderT final: public Delta
637        default:
638          SUBERROR(seastore_onode,
639              "got unknown op {} when replay {}",
640 -            op, node);
641 +            static_cast<uint8_t>(op), node);
642          ceph_abort("fatal error");
643        }
644      } catch (buffer::error& e) {
645        SUBERROR(seastore_onode,
646            "got decode error {} when replay {}",
647 -          e, node);
648 +          fmt::streamed(e), node);
649        ceph_abort("fatal error");
650      }
651    }
652 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h.orig  2022-07-28 23:52:12.000000000 +0200
653 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager.h       2022-09-10 20:22:25.681931141 +0200
654 @@ -99,3 +99,6 @@ inline std::ostream& operator<<(std::ost
655  }
656  
657  }
658 +
659 +template <>
660 +struct fmt::formatter<crimson::os::seastore::onode::NodeExtent> : ostream_formatter {};
661 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h.orig  2022-07-28 23:52:12.000000000 +0200
662 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h       2022-09-10 23:18:51.518511129 +0200
663 @@ -716,7 +716,7 @@ class NodeLayoutT final : public Interna
664        SUBDEBUG(seastore_onode,
665            "-- located split_at({}), insert_pos({}), is_insert_left={}, "
666            "split_size={}B(target={}B, current={}B)",
667 -          split_at, insert_pos, is_insert_left,
668 +          fmt::streamed(split_at), insert_pos, is_insert_left,
669            split_size, target_split_size, filled_size());
670        // split_size can be larger than target_split_size in strategy B
671        // assert(split_size <= target_split_size);
672 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/tree_utils.h.orig   2022-07-28 23:52:12.000000000 +0200
673 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/tree_utils.h        2022-09-14 16:25:35.992674217 +0200
674 @@ -304,7 +304,7 @@ class TreeBuilder {
675      logger().debug("[{}] insert {} -> {}",
676                     iter_rd - kvs.random_begin(),
677                     key_hobj_t{p_kv->key},
678 -                   p_kv->value);
679 +                   fmt::streamed(p_kv->value));
680      return tree->insert(
681          t, p_kv->key, {p_kv->value.get_payload_size()}
682      ).si_then([&t, this, p_kv](auto ret) {
683 @@ -397,7 +397,7 @@ class TreeBuilder {
684      logger().debug("[{}] erase {} -> {}",
685                     iter_rd - kvs.random_begin(),
686                     key_hobj_t{p_kv->key},
687 -                   p_kv->value);
688 +                   fmt::streamed(p_kv->value));
689      return tree->erase(t, p_kv->key
690      ).si_then([&t, this, p_kv] (auto size) {
691        ceph_assert(size == 1);
692 @@ -497,7 +497,7 @@ class TreeBuilder {
693    eagain_ifuture<> get_stats(Transaction& t) {
694      return tree->get_stats_slow(t
695      ).si_then([](auto stats) {
696 -      logger().warn("{}", stats);
697 +      logger().warn("{}", fmt::streamed(stats));
698      });
699    }
700  
701 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/value.h.orig        2022-07-28 23:52:12.000000000 +0200
702 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/value.h     2022-09-10 20:44:01.346243614 +0200
703 @@ -330,3 +330,9 @@ std::unique_ptr<ValueDeltaRecorder>
704  build_value_recorder_by_type(ceph::bufferlist& encoded, const value_magic_t& magic);
705  
706  }
707 +
708 +template <>
709 +struct fmt::formatter<crimson::os::seastore::onode::value_config_t> : ostream_formatter {};
710 +
711 +template <>
712 +struct fmt::formatter<crimson::os::seastore::onode::value_header_t> : ostream_formatter {};
713 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc.orig        2022-07-28 23:52:12.000000000 +0200
714 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.cc     2022-09-11 13:59:47.892898649 +0200
715 @@ -1,6 +1,7 @@
716  // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
717  // vim: ts=8 sw=2 smarttab
718  
719 +#include "common/hobject_fmt.h"
720  #include "crimson/os/seastore/logging.h"
721  
722  #include "crimson/os/seastore/onode_manager/staged-fltree/fltree_onode_manager.h"
723 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/dummy.h.orig    2022-07-28 23:52:12.000000000 +0200
724 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/dummy.h 2022-09-10 20:23:37.035656315 +0200
725 @@ -190,3 +190,6 @@ class DummyNodeExtentManager final: publ
726  };
727  
728  }
729 +
730 +template <>
731 +struct fmt::formatter<crimson::os::seastore::onode::DummyNodeExtent> : ostream_formatter {};
732 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h.orig 2022-07-28 23:52:12.000000000 +0200
733 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_manager/seastore.h      2022-09-10 20:35:15.305445076 +0200
734 @@ -217,3 +217,6 @@ class SeastoreNodeExtentManager final: p
735  };
736  
737  }
738 +
739 +template <>
740 +struct fmt::formatter<crimson::os::seastore::onode::SeastoreNodeExtent> : ostream_formatter {};
741 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/stages/key_layout.h.orig    2022-07-28 23:52:12.000000000 +0200
742 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/stages/key_layout.h 2022-09-10 18:15:40.701599795 +0200
743 @@ -941,3 +941,9 @@ void ns_oid_view_t::test_append(const fu
744  }
745  
746  }
747 +
748 +template <>
749 +struct fmt::formatter<crimson::os::seastore::onode::key_hobj_t> : ostream_formatter {};
750 +
751 +template <>
752 +struct fmt::formatter<crimson::os::seastore::onode::key_view_t> : ostream_formatter {};
753 --- ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/stages/stage_types.h.orig   2022-07-28 23:52:12.000000000 +0200
754 +++ ceph-17.2.3/src/crimson/os/seastore/onode_manager/staged-fltree/stages/stage_types.h        2022-09-10 19:52:32.398311751 +0200
755 @@ -462,3 +462,9 @@ struct node_stats_t {
756  };
757  
758  }
759 +
760 +template <>
761 +struct fmt::formatter<crimson::os::seastore::onode::MatchHistory> : ostream_formatter {};
762 +
763 +template <crimson::os::seastore::onode::match_stage_t STAGE>
764 +struct fmt::formatter<crimson::os::seastore::onode::staged_position_t<STAGE>> : ostream_formatter {};
765 --- ceph-17.2.3/src/crimson/os/seastore/random_block_manager/nvme_manager.cc.orig       2022-07-28 23:52:12.000000000 +0200
766 +++ ceph-17.2.3/src/crimson/os/seastore/random_block_manager/nvme_manager.cc    2022-09-11 19:09:02.343128795 +0200
767 @@ -154,7 +154,7 @@ NVMeManager::mkfs_ertr::future<> NVMeMan
768         super.blocks_per_segment = config.blocks_per_segment;
769         super.device_id = config.device_id;
770  
771 -       logger().debug(" super {} ", super);
772 +       logger().debug(" super {} ", fmt::streamed(super));
773         // write super block
774         return write_rbm_header().safe_then([this] {
775           return initialize_blk_alloc_area();
776 @@ -227,7 +227,7 @@ NVMeManager::find_block_ret NVMeManager:
777               }
778               addr += super.block_size;
779               logger().debug("find_free_list: allocated: {} alloc_extent {}",
780 -                             allocated, alloc_extent);
781 +                             allocated, fmt::streamed(alloc_extent));
782               if (((uint64_t)size)/super.block_size == allocated) {
783                 return seastar::stop_iteration::yes;
784               } else if (addr >= super.start_data_area) {
785 @@ -271,7 +271,7 @@ NVMeManager::allocate_ret NVMeManager::a
786    return find_free_block(t, size
787        ).safe_then([this, &t] (auto alloc_extent) mutable
788         -> allocate_ertr::future<paddr_t> {
789 -       logger().debug("after find_free_block: allocated {}", alloc_extent);
790 +       logger().debug("after find_free_block: allocated {}", fmt::streamed(alloc_extent));
791         if (!alloc_extent.empty()) {
792           rbm_alloc_delta_t alloc_info;
793           for (auto p : alloc_extent) {
794 @@ -626,7 +626,7 @@ NVMeManager::read_ertr::future<rbm_metad
795          return crimson::ct_error::input_output_error::make();
796        }
797      }
798 -    logger().debug(" got {} ", super);
799 +    logger().debug(" got {} ", fmt::streamed(super));
800      return read_ertr::future<rbm_metadata_header_t>(
801        read_ertr::ready_future_marker{},
802        super_block
803 --- ceph-17.2.3/src/crimson/os/seastore/segment_manager/ephemeral.cc.orig       2022-07-28 23:52:12.000000000 +0200
804 +++ ceph-17.2.3/src/crimson/os/seastore/segment_manager/ephemeral.cc    2022-09-09 20:40:20.735269610 +0200
805 @@ -96,7 +96,7 @@ EphemeralSegmentManager::init_ertr::futu
806  {
807    logger().debug(
808      "Initing ephemeral segment manager with config {}",
809 -    config);
810 +    fmt::streamed(config));
811  
812    meta = seastore_meta_t{};
813  
814 --- ceph-17.2.3/src/crimson/osd/backfill_state.cc.orig  2022-07-28 23:52:12.000000000 +0200
815 +++ ceph-17.2.3/src/crimson/osd/backfill_state.cc       2022-09-11 20:11:11.288470838 +0200
816 @@ -5,6 +5,7 @@
817  #include <boost/type_index.hpp>
818  
819  #include "crimson/osd/backfill_state.h"
820 +#include "osd/osd_types_fmt.h"
821  
822  namespace {
823    seastar::logger& logger() {
824 @@ -423,7 +424,7 @@ boost::statechart::result
825  BackfillState::ReplicasScanning::react(ReplicaScanned evt)
826  {
827    logger().debug("{}: got scan result from osd={}, result={}",
828 -                 __func__, evt.from, evt.result);
829 +                 __func__, evt.from, fmt::streamed(evt.result));
830    // TODO: maybe we'll be able to move waiting_on_backfill from
831    // the machine to the state.
832    ceph_assert(peering_state().is_backfill_target(evt.from));
833 --- ceph-17.2.3/src/crimson/osd/heartbeat.cc.orig       2022-07-28 23:52:12.000000000 +0200
834 +++ ceph-17.2.3/src/crimson/osd/heartbeat.cc    2022-09-11 20:44:43.140556321 +0200
835 @@ -4,9 +4,11 @@
836  #include "heartbeat.h"
837  
838  #include <boost/range/join.hpp>
839 +#include <fmt/os.h>
840  
841  #include "messages/MOSDPing.h"
842  #include "messages/MOSDFailure.h"
843 +#include "msg/msg_fmt.h"
844  
845  #include "crimson/common/config_proxy.h"
846  #include "crimson/common/formatter.h"
847 @@ -17,6 +19,9 @@
848  
849  #include "osd/OSDMap.h"
850  
851 +template <>
852 +struct fmt::formatter<Heartbeat::Connection> : ostream_formatter {};
853 +
854  using std::set;
855  using std::string;
856  using crimson::common::local_conf;
857 @@ -393,7 +398,7 @@ void Heartbeat::Connection::accepted(cri
858    if (!conn) {
859      if (accepted_conn->get_peer_addr() == listener.get_peer_addr(type)) {
860        logger().info("Heartbeat::Connection::accepted(): "
861 -                    "{} racing resolved", *this);
862 +                    "{} racing resolved", fmt::streamed(*this));
863        conn = accepted_conn;
864        set_connected();
865      }
866 @@ -410,7 +415,7 @@ void Heartbeat::Connection::replaced()
867    conn = msgr.connect(replaced_conn->get_peer_addr(),
868                        replaced_conn->get_peer_name());
869    racing_detected = true;
870 -  logger().warn("Heartbeat::Connection::replaced(): {} racing", *this);
871 +  logger().warn("Heartbeat::Connection::replaced(): {} racing", fmt::streamed(*this));
872    assert(conn != replaced_conn);
873    assert(conn->is_connected());
874  }
875 --- ceph-17.2.3/src/crimson/osd/ops_executer.cc.orig    2022-07-28 23:52:12.000000000 +0200
876 +++ ceph-17.2.3/src/crimson/osd/ops_executer.cc 2022-09-12 18:50:57.937349213 +0200
877 @@ -18,6 +18,9 @@
878  #include "crimson/osd/exceptions.h"
879  #include "crimson/osd/pg.h"
880  #include "crimson/osd/watch.h"
881 +#include "common/hobject_fmt.h"
882 +#include "msg/msg_fmt.h"
883 +#include "osd/osd_types_fmt.h"
884  #include "osd/ClassHandler.h"
885  
886  namespace {
887 --- ceph-17.2.3/src/crimson/osd/osd.cc.orig     2022-07-28 23:52:12.000000000 +0200
888 +++ ceph-17.2.3/src/crimson/osd/osd.cc  2022-09-11 21:59:01.223608155 +0200
889 @@ -10,6 +10,7 @@
890  #include <boost/smart_ptr/make_local_shared.hpp>
891  #include <fmt/format.h>
892  #include <fmt/ostream.h>
893 +#include <fmt/os.h>
894  #include <seastar/core/timer.hh>
895  
896  #include "common/pick_address.h"
897 @@ -25,12 +26,14 @@
898  #include "messages/MOSDRepOpReply.h"
899  #include "messages/MOSDScrub2.h"
900  #include "messages/MPGStats.h"
901 +#include "msg/msg_fmt.h"
902  
903  #include "os/Transaction.h"
904  #include "osd/ClassHandler.h"
905  #include "osd/OSDCap.h"
906  #include "osd/PGPeeringEvent.h"
907  #include "osd/PeeringState.h"
908 +#include "osd/osd_types_fmt.h"
909  
910  #include "crimson/admin/osd_admin.h"
911  #include "crimson/admin/pg_commands.h"
912 @@ -186,7 +189,7 @@ seastar::future<> OSD::mkfs(uuid_d osd_u
913    }).then([cluster_fsid, this] {
914      fmt::print("created object store {} for osd.{} fsid {}\n",
915                 local_conf().get_val<std::string>("osd_data"),
916 -               whoami, cluster_fsid);
917 +               whoami, fmt::streamed(cluster_fsid));
918      return seastar::now();
919    });
920  }
921 @@ -200,7 +203,7 @@ seastar::future<> OSD::_write_superblock
922        return meta_coll->load_superblock().then([this](OSDSuperblock&& sb) {
923          if (sb.cluster_fsid != superblock.cluster_fsid) {
924            logger().error("provided cluster fsid {} != superblock's {}",
925 -                         sb.cluster_fsid, superblock.cluster_fsid);
926 +                         fmt::streamed(sb.cluster_fsid), fmt::streamed(superblock.cluster_fsid));
927            throw std::invalid_argument("mismatched fsid");
928          }
929          if (sb.whoami != superblock.whoami) {
930 @@ -214,8 +217,8 @@ seastar::future<> OSD::_write_superblock
931        logger().info(
932          "{} writing superblock cluster_fsid {} osd_fsid {}",
933          "_write_superblock",
934 -        superblock.cluster_fsid,
935 -        superblock.osd_fsid);
936 +        fmt::streamed(superblock.cluster_fsid),
937 +        fmt::streamed(superblock.osd_fsid));
938        return store.create_new_collection(coll_t::meta()).then([this] (auto ch) {
939          meta_coll = make_unique<OSDMeta>(ch, store);
940          ceph::os::Transaction t;
941 @@ -495,13 +498,13 @@ seastar::future<> OSD::_add_me_to_crush(
942    };
943    return get_weight().then([this](auto weight) {
944      const crimson::crush::CrushLocation loc{make_unique<CephContext>().get()};
945 -    logger().info("{} crush location is {}", __func__, loc);
946 +    logger().info("{} crush location is {}", __func__, fmt::streamed(loc));
947      string cmd = fmt::format(R"({{
948        "prefix": "osd crush create-or-move",
949        "id": {},
950        "weight": {:.4f},
951        "args": [{}]
952 -    }})", whoami, weight, loc);
953 +    }})", whoami, weight, fmt::streamed(loc));
954      return monc->run_command(std::move(cmd), {});
955    }).then([](auto&& command_result) {
956      [[maybe_unused]] auto [code, message, out] = std::move(command_result);
957 @@ -797,7 +800,7 @@ void OSD::handle_authentication(const En
958  {
959    // TODO: store the parsed cap and associate it with the connection
960    if (caps_info.allow_all) {
961 -    logger().debug("{} {} has all caps", __func__, name);
962 +    logger().debug("{} {} has all caps", __func__, fmt::streamed(name));
963      return;
964    }
965    if (caps_info.caps.length() > 0) {
966 @@ -806,14 +809,14 @@ void OSD::handle_authentication(const En
967      try {
968        decode(str, p);
969      } catch (ceph::buffer::error& e) {
970 -      logger().warn("{} {} failed to decode caps string", __func__, name);
971 +      logger().warn("{} {} failed to decode caps string", __func__, fmt::streamed(name));
972        return;
973      }
974      OSDCap caps;
975      if (caps.parse(str)) {
976 -      logger().debug("{} {} has caps {}", __func__, name, str);
977 +      logger().debug("{} {} has caps {}", __func__, fmt::streamed(name), str);
978      } else {
979 -      logger().warn("{} {} failed to parse caps {}", __func__, name, str);
980 +      logger().warn("{} {} failed to parse caps {}", __func__, fmt::streamed(name), str);
981      }
982    }
983  }
984 @@ -1051,7 +1054,7 @@ seastar::future<Ref<PG>> OSD::handle_pg_
985  seastar::future<> OSD::handle_osd_map(crimson::net::ConnectionRef conn,
986                                        Ref<MOSDMap> m)
987  {
988 -  logger().info("handle_osd_map {}", *m);
989 +  logger().info("handle_osd_map {}", fmt::streamed(*m));
990    if (m->fsid != superblock.cluster_fsid) {
991      logger().warn("fsid mismatched");
992      return seastar::now();
993 @@ -1141,7 +1144,7 @@ seastar::future<> OSD::committed_osd_map
994      if (osdmap->is_up(whoami)) {
995        const auto up_from = osdmap->get_up_from(whoami);
996        logger().info("osd.{}: map e {} marked me up: up_from {}, bind_epoch {}, state {}",
997 -                    whoami, osdmap->get_epoch(), up_from, bind_epoch, state);
998 +                    whoami, osdmap->get_epoch(), up_from, bind_epoch, fmt::streamed(state));
999        if (bind_epoch < up_from &&
1000            osdmap->get_addrs(whoami) == public_msgr->get_myaddrs() &&
1001            state.is_booting()) {
1002 @@ -1184,7 +1187,7 @@ seastar::future<> OSD::committed_osd_map
1003          return start_boot();
1004        }
1005      } else {
1006 -      logger().info("osd.{}: now {}", whoami, state);
1007 +      logger().info("osd.{}: now {}", whoami, fmt::streamed(state));
1008        // XXX
1009        return seastar::now();
1010      }
1011 @@ -1246,7 +1249,7 @@ seastar::future<> OSD::handle_rep_op_rep
1012      m->finish_decode();
1013      pg->second->handle_rep_op_reply(conn, *m);
1014    } else {
1015 -    logger().warn("stale reply: {}", *m);
1016 +    logger().warn("stale reply: {}", fmt::streamed(*m));
1017    }
1018    return seastar::now();
1019  }
1020 --- ceph-17.2.3/src/crimson/osd/osd_meta.cc.orig        2022-07-28 23:52:12.000000000 +0200
1021 +++ ceph-17.2.3/src/crimson/osd/osd_meta.cc     2022-09-11 22:06:32.387184583 +0200
1022 @@ -6,6 +6,7 @@
1023  #include <fmt/format.h>
1024  #include <fmt/ostream.h>
1025  
1026 +#include "common/hobject_fmt.h"
1027  #include "crimson/os/futurized_collection.h"
1028  #include "crimson/os/futurized_store.h"
1029  #include "os/Transaction.h"
1030 --- ceph-17.2.3/src/crimson/osd/pg.cc.orig      2022-07-28 23:52:12.000000000 +0200
1031 +++ ceph-17.2.3/src/crimson/osd/pg.cc   2022-09-12 06:26:38.859890170 +0200
1032 @@ -11,15 +11,19 @@
1033  #include <boost/range/algorithm/copy.hpp>
1034  #include <boost/range/algorithm/max_element.hpp>
1035  #include <boost/range/numeric.hpp>
1036 +#include <fmt/chrono.h>
1037  #include <fmt/format.h>
1038 +#include <fmt/os.h>
1039  #include <fmt/ostream.h>
1040  
1041 +#include "common/hobject_fmt.h"
1042  #include "messages/MOSDOp.h"
1043  #include "messages/MOSDOpReply.h"
1044  #include "messages/MOSDRepOp.h"
1045  #include "messages/MOSDRepOpReply.h"
1046  
1047  #include "osd/OSDMap.h"
1048 +#include "osd/osd_types_fmt.h"
1049  
1050  #include "os/Transaction.h"
1051  
1052 @@ -768,7 +772,7 @@ PG::do_osd_ops(
1053        reply->add_flags(CEPH_OSD_FLAG_ACK | CEPH_OSD_FLAG_ONDISK);
1054        logger().debug(
1055          "do_osd_ops: {} - object {} sending reply",
1056 -        *m,
1057 +        fmt::streamed(*m),
1058          m->get_hobj());
1059        return do_osd_ops_iertr::make_ready_future<MURef<MOSDOpReply>>(
1060          std::move(reply));
1061 @@ -1181,7 +1185,7 @@ seastar::future<> PG::stop()
1062  }
1063  
1064  void PG::on_change(ceph::os::Transaction &t) {
1065 -  logger().debug("{}, {}", __func__, *this);
1066 +  logger().debug("{}, {}", __func__, fmt::streamed(*this));
1067    for (auto& obc : obc_set_accessing) {
1068      obc.interrupt(::crimson::common::actingset_changed(is_primary()));
1069    }
1070 --- ceph-17.2.3/src/crimson/osd/pg_backend.cc.orig      2022-07-28 23:52:12.000000000 +0200
1071 +++ ceph-17.2.3/src/crimson/osd/pg_backend.cc   2022-09-12 19:43:42.529108520 +0200
1072 @@ -16,6 +16,7 @@
1073  #include "os/Transaction.h"
1074  #include "common/Checksummer.h"
1075  #include "common/Clock.h"
1076 +#include "common/hobject_fmt.h"
1077  
1078  #include "crimson/common/exception.h"
1079  #include "crimson/os/futurized_collection.h"
1080 --- ceph-17.2.3/src/crimson/osd/pg_interval_interrupt_condition.cc.orig 2022-07-28 23:52:12.000000000 +0200
1081 +++ ceph-17.2.3/src/crimson/osd/pg_interval_interrupt_condition.cc      2022-09-14 16:25:56.740431797 +0200
1082 @@ -20,14 +20,14 @@ bool IOInterruptCondition::new_interval_
1083    bool ret = e < pg->get_interval_start_epoch();
1084    if (ret)
1085      ::crimson::get_logger(ceph_subsys_osd).debug(
1086 -      "{} new interval, should interrupt, e{}", *pg, e);
1087 +      "{} new interval, should interrupt, e{}", fmt::streamed(*pg), e);
1088    return ret;
1089  }
1090  
1091  bool IOInterruptCondition::is_stopping() {
1092    if (pg->stopping)
1093      ::crimson::get_logger(ceph_subsys_osd).debug(
1094 -      "{} shutting down, should interrupt", *pg);
1095 +      "{} shutting down, should interrupt", fmt::streamed(*pg));
1096    return pg->stopping;
1097  }
1098  
1099 --- ceph-17.2.3/src/crimson/osd/pg_map.cc.orig  2022-07-28 23:52:12.000000000 +0200
1100 +++ ceph-17.2.3/src/crimson/osd/pg_map.cc       2022-09-14 16:26:00.380623198 +0200
1101 @@ -5,6 +5,7 @@
1102  
1103  #include "crimson/osd/pg.h"
1104  #include "common/Formatter.h"
1105 +#include "osd/osd_types_fmt.h"
1106  
1107  namespace {
1108    seastar::logger& logger() {
1109 --- ceph-17.2.3/src/crimson/osd/pg_recovery.cc.orig     2022-07-28 23:52:12.000000000 +0200
1110 +++ ceph-17.2.3/src/crimson/osd/pg_recovery.cc  2022-09-13 18:51:33.867800178 +0200
1111 @@ -13,6 +13,7 @@
1112  #include "crimson/osd/pg_recovery.h"
1113  
1114  #include "osd/osd_types.h"
1115 +#include "osd/osd_types_fmt.h"
1116  #include "osd/PeeringState.h"
1117  
1118  namespace {
1119 @@ -109,8 +110,8 @@ size_t PGRecovery::start_primary_recover
1120  
1121    logger().info("{} recovering {} in pg {}, missing {}", __func__,
1122                  pg->get_recovery_backend()->total_recovering(),
1123 -                *static_cast<crimson::osd::PG*>(pg),
1124 -                missing);
1125 +                fmt::streamed(*static_cast<crimson::osd::PG*>(pg)),
1126 +                fmt::streamed(missing));
1127  
1128    unsigned started = 0;
1129    int skipped = 0;
1130 @@ -187,7 +188,7 @@ size_t PGRecovery::start_replica_recover
1131      logger().debug("{}: peer osd.{} missing {} objects", __func__,
1132                   peer, pm.num_missing());
1133      logger().trace("{}: peer osd.{} missing {}", __func__,
1134 -                 peer, pm.get_items());
1135 +                 peer, fmt::streamed(pm.get_items()));
1136  
1137      // recover oldest first
1138      for (auto p = pm.get_rmissing().begin();
1139 --- ceph-17.2.3/src/crimson/osd/recovery_backend.cc.orig        2022-07-28 23:52:12.000000000 +0200
1140 +++ ceph-17.2.3/src/crimson/osd/recovery_backend.cc     2022-09-13 21:22:46.876223766 +0200
1141 @@ -10,6 +10,7 @@
1142  
1143  #include "messages/MOSDFastDispatchOp.h"
1144  #include "osd/osd_types.h"
1145 +#include "osd/osd_types_fmt.h"
1146  
1147  namespace {
1148    seastar::logger& logger() {
1149 @@ -126,7 +127,7 @@ RecoveryBackend::handle_backfill(
1150  {
1151    logger().debug("{}", __func__);
1152    if (pg.old_peering_msg(m.map_epoch, m.query_epoch)) {
1153 -    logger().debug("{}: discarding {}", __func__, m);
1154 +    logger().debug("{}: discarding {}", __func__, fmt::streamed(m));
1155      return seastar::now();
1156    }
1157    switch (m.op) {
1158 @@ -147,10 +148,10 @@ RecoveryBackend::interruptible_future<>
1159  RecoveryBackend::handle_backfill_remove(
1160    MOSDPGBackfillRemove& m)
1161  {
1162 -  logger().debug("{} m.ls={}", __func__, m.ls);
1163 +  logger().debug("{} m.ls={}", __func__, fmt::streamed(m.ls));
1164    assert(m.get_type() == MSG_OSD_PG_BACKFILL_REMOVE);
1165    if (pg.can_discard_replica_op(m)) {
1166 -    logger().debug("{}: discarding {}", __func__, m);
1167 +    logger().debug("{}: discarding {}", __func__, fmt::streamed(m));
1168      return seastar::now();
1169    }
1170    ObjectStore::Transaction t;
1171 @@ -285,7 +286,7 @@ RecoveryBackend::handle_scan(
1172  {
1173    logger().debug("{}", __func__);
1174    if (pg.old_peering_msg(m.map_epoch, m.query_epoch)) {
1175 -    logger().debug("{}: discarding {}", __func__, m);
1176 +    logger().debug("{}: discarding {}", __func__, fmt::streamed(m));
1177      return seastar::now();
1178    }
1179    switch (m.op) {
1180 --- ceph-17.2.3/src/crimson/osd/replicated_backend.cc.orig      2022-07-28 23:52:12.000000000 +0200
1181 +++ ceph-17.2.3/src/crimson/osd/replicated_backend.cc   2022-09-12 19:49:54.678938412 +0200
1182 @@ -10,6 +10,7 @@
1183  #include "crimson/os/futurized_store.h"
1184  #include "crimson/osd/shard_services.h"
1185  #include "osd/PeeringState.h"
1186 +#include "osd/osd_types_fmt.h"
1187  
1188  namespace {
1189    seastar::logger& logger() {
1190 @@ -121,7 +122,7 @@ void ReplicatedBackend::got_rep_op_reply
1191  {
1192    auto found = pending_trans.find(reply.get_tid());
1193    if (found == pending_trans.end()) {
1194 -    logger().warn("{}: no matched pending rep op: {}", __func__, reply);
1195 +    logger().warn("{}: no matched pending rep op: {}", __func__, fmt::streamed(reply));
1196      return;
1197    }
1198    auto& peers = found->second;
1199 --- ceph-17.2.3/src/crimson/osd/replicated_recovery_backend.cc.orig     2022-07-28 23:52:12.000000000 +0200
1200 +++ ceph-17.2.3/src/crimson/osd/replicated_recovery_backend.cc  2022-09-14 16:26:03.774134962 +0200
1201 @@ -2,6 +2,7 @@
1202  // vim: ts=8 sw=2 smarttab expandtab
1203  
1204  #include <fmt/format.h>
1205 +#include <fmt/os.h>
1206  #include <fmt/ostream.h>
1207  #include <seastar/core/future.hh>
1208  #include <seastar/core/do_with.hh>
1209 @@ -10,6 +11,8 @@
1210  #include "crimson/osd/pg_backend.h"
1211  #include "replicated_recovery_backend.h"
1212  
1213 +#include "common/hobject_fmt.h"
1214 +#include "osd/osd_types_fmt.h"
1215  #include "msg/Message.h"
1216  
1217  namespace {
1218 @@ -18,6 +21,9 @@ namespace {
1219    }
1220  }
1221  
1222 +template <>
1223 +struct fmt::formatter<MOSDPGPush> : ostream_formatter {};
1224 +
1225  using std::less;
1226  using std::map;
1227  using std::string;
1228 @@ -170,7 +176,7 @@ RecoveryBackend::interruptible_future<>
1229  ReplicatedRecoveryBackend::handle_recovery_delete(
1230    Ref<MOSDPGRecoveryDelete> m)
1231  {
1232 -  logger().debug("{}: {}", __func__, *m);
1233 +  logger().debug("{}: {}", __func__, fmt::streamed(*m));
1234  
1235    auto& p = m->objects.front(); //TODO: only one delete per message for now.
1236    return local_recover_delete(p.first, p.second, pg.get_osdmap_epoch())
1237 @@ -465,7 +471,7 @@ ReplicatedRecoveryBackend::read_metadata
1238      for (auto&& [key, val] : attrs) {
1239        push_op->attrset.emplace(std::move(key), std::move(val));
1240      }
1241 -    logger().debug("read_metadata_for_push_op: {}", push_op->attrset[OI_ATTR]);
1242 +    logger().debug("read_metadata_for_push_op: {}", fmt::streamed(push_op->attrset[OI_ATTR]));
1243      object_info_t oi;
1244      oi.decode_no_oid(push_op->attrset[OI_ATTR]);
1245      new_progress.first = false;
1246 @@ -593,9 +599,9 @@ ReplicatedRecoveryBackend::get_shards_to
1247  RecoveryBackend::interruptible_future<>
1248  ReplicatedRecoveryBackend::handle_pull(Ref<MOSDPGPull> m)
1249  {
1250 -  logger().debug("{}: {}", __func__, *m);
1251 +  logger().debug("{}: {}", __func__, fmt::streamed(*m));
1252    if (pg.can_discard_replica_op(*m)) {
1253 -    logger().debug("{}: discarding {}", __func__, *m);
1254 +    logger().debug("{}: discarding {}", __func__, fmt::streamed(*m));
1255      return seastar::now();
1256    }
1257    return seastar::do_with(m->take_pulls(), [this, from=m->from](auto& pulls) {
1258 @@ -643,7 +649,7 @@ ReplicatedRecoveryBackend::_handle_pull_
1259    ceph::os::Transaction* t)
1260  {
1261    logger().debug("handle_pull_response {} {} data.size() is {} data_included: {}",
1262 -      pop.recovery_info, pop.after_progress, pop.data.length(), pop.data_included);
1263 +      fmt::streamed(pop.recovery_info), fmt::streamed(pop.after_progress), pop.data.length(), pop.data_included);
1264  
1265    const hobject_t &hoid = pop.soid;
1266    auto& recovery_waiter = recovering.at(hoid);
1267 @@ -674,7 +680,7 @@ ReplicatedRecoveryBackend::_handle_pull_
1268      const bool first = pi.recovery_progress.first;
1269      pi.recovery_progress = pop.after_progress;
1270      logger().debug("new recovery_info {}, new progress {}",
1271 -                  pi.recovery_info, pi.recovery_progress);
1272 +                  fmt::streamed(pi.recovery_info), fmt::streamed(pi.recovery_progress));
1273      interval_set<uint64_t> data_zeros;
1274      {
1275        uint64_t offset = pop.before_progress.data_recovered_to;
1276 @@ -888,7 +894,7 @@ RecoveryBackend::interruptible_future<>
1277  ReplicatedRecoveryBackend::handle_push_reply(
1278    Ref<MOSDPGPushReply> m)
1279  {
1280 -  logger().debug("{}: {}", __func__, *m);
1281 +  logger().debug("{}: {}", __func__, fmt::streamed(*m));
1282    auto from = m->from;
1283    auto& push_reply = m->replies[0]; //TODO: only one reply per message
1284  
1285 --- ceph-17.2.3/src/crimson/osd/shard_services.cc.orig  2022-07-28 23:52:12.000000000 +0200
1286 +++ ceph-17.2.3/src/crimson/osd/shard_services.cc       2022-09-12 18:10:09.584797181 +0200
1287 @@ -8,6 +8,7 @@
1288  #include "messages/MOSDPGTemp.h"
1289  
1290  #include "osd/osd_perf_counters.h"
1291 +#include "osd/osd_types_fmt.h"
1292  #include "osd/PeeringState.h"
1293  #include "crimson/common/config_proxy.h"
1294  #include "crimson/mgr/client.h"
1295 @@ -191,7 +192,7 @@ seastar::future<> ShardServices::send_pg
1296  {
1297    if (pg_temp_wanted.empty())
1298      return seastar::now();
1299 -  logger().debug("{}: {}", __func__, pg_temp_wanted);
1300 +  logger().debug("{}: {}", __func__, fmt::streamed(pg_temp_wanted));
1301    MURef<MOSDPGTemp> ms[2] = {nullptr, nullptr};
1302    for (auto& [pgid, pg_temp] : pg_temp_wanted) {
1303      auto& m = ms[pg_temp.forced];
1304 --- ceph-17.2.3/src/crimson/osd/watch.cc.orig   2022-07-28 23:52:12.000000000 +0200
1305 +++ ceph-17.2.3/src/crimson/osd/watch.cc        2022-09-14 16:25:52.640216209 +0200
1306 @@ -10,6 +10,7 @@
1307  #include "crimson/osd/osd_operations/internal_client_request.h"
1308  
1309  #include "messages/MWatchNotify.h"
1310 +#include "osd/osd_types_fmt.h"
1311  
1312  
1313  namespace {
1314 @@ -257,7 +258,7 @@ seastar::future<> Notify::send_completio
1315  {
1316    logger().info("{} -- {} in progress watchers, timedout watchers {}",
1317                  __func__, watchers.size(), timedout_watchers.size());
1318 -  logger().debug("{} sending notify replies: {}", __func__, notify_replies);
1319 +  logger().debug("{} sending notify replies: {}", __func__, fmt::streamed(notify_replies));
1320  
1321    ceph::bufferlist empty;
1322    auto reply = crimson::make_message<MWatchNotify>(
1323 --- ceph-17.2.3/src/crimson/osd/osd_operations/client_request.h.orig    2022-07-28 23:52:12.000000000 +0200
1324 +++ ceph-17.2.3/src/crimson/osd/osd_operations/client_request.h 2022-09-12 21:54:55.796154929 +0200
1325 @@ -98,3 +98,6 @@ private:
1326  };
1327  
1328  }
1329 +
1330 +template <>
1331 +struct fmt::formatter<crimson::osd::ClientRequest> : ostream_formatter {};
1332 --- ceph-17.2.3/src/crimson/osd/osd_operations/background_recovery.cc.orig      2022-07-28 23:52:12.000000000 +0200
1333 +++ ceph-17.2.3/src/crimson/osd/osd_operations/background_recovery.cc   2022-09-13 17:40:57.542629721 +0200
1334 @@ -49,7 +49,7 @@ void BackgroundRecovery::dump_detail(For
1335  
1336  seastar::future<> BackgroundRecovery::start()
1337  {
1338 -  logger().debug("{}: start", *this);
1339 +  logger().debug("{}: start", fmt::streamed(*this));
1340  
1341    IRef ref = this;
1342    auto maybe_delay = seastar::now();
1343 @@ -67,7 +67,7 @@ seastar::future<> BackgroundRecovery::st
1344          }, pg);
1345        }).handle_exception_type([ref, this](const std::system_error& err) {
1346          if (err.code() == std::make_error_code(std::errc::interrupted)) {
1347 -          logger().debug("{} recovery interruped: {}", *pg, err.what());
1348 +          logger().debug("{} recovery interruped: {}", fmt::streamed(*pg), err.what());
1349           return seastar::now();
1350          }
1351          return seastar::make_exception_future<>(err);
1352 @@ -78,7 +78,7 @@ seastar::future<> BackgroundRecovery::st
1353  UrgentRecovery::interruptible_future<bool>
1354  UrgentRecovery::do_recovery()
1355  {
1356 -  logger().debug("{}: {}", __func__, *this);
1357 +  logger().debug("{}: {}", __func__, fmt::streamed(*this));
1358    if (!pg->has_reset_since(epoch_started)) {
1359      return with_blocking_future_interruptible<interruptor::condition>(
1360        pg->get_recovery_handler()->recover_missing(soid, need)
1361 --- ceph-17.2.3/src/crimson/osd/osd_operations/client_request.cc.orig   2022-07-28 23:52:12.000000000 +0200
1362 +++ ceph-17.2.3/src/crimson/osd/osd_operations/client_request.cc        2022-09-12 22:14:51.672228672 +0200
1363 @@ -1,6 +1,7 @@
1364  // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
1365  // vim: ts=8 sw=2 smarttab expandtab
1366  
1367 +#include <fmt/os.h>
1368  #include <seastar/core/future.hh>
1369  
1370  #include "messages/MOSDOp.h"
1371 --- ceph-17.2.3/src/crimson/osd/osd_operations/client_request_common.cc.orig    2022-07-28 23:52:12.000000000 +0200
1372 +++ ceph-17.2.3/src/crimson/osd/osd_operations/client_request_common.cc 2022-09-12 22:19:24.919860123 +0200
1373 @@ -1,6 +1,7 @@
1374  // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
1375  // vim: ts=8 sw=2 smarttab expandtab
1376  
1377 +#include "common/hobject_fmt.h"
1378  #include "crimson/osd/osd_operations/client_request_common.h"
1379  #include "crimson/osd/pg.h"
1380  
1381 @@ -43,10 +44,10 @@ bool CommonClientRequest::should_abort_r
1382        std::rethrow_exception(eptr);
1383      } catch(::crimson::common::actingset_changed& e) {
1384        if (e.is_primary()) {
1385 -        logger().debug("{} {} operation restart, acting set changed", __func__, op);
1386 +        logger().debug("{} {} operation restart, acting set changed", __func__, fmt::streamed(op));
1387          return false;
1388        } else {
1389 -        logger().debug("{} {} operation abort, up primary changed", __func__, op);
1390 +        logger().debug("{} {} operation abort, up primary changed", __func__, fmt::streamed(op));
1391          return true;
1392        }
1393      }
1394 @@ -54,7 +55,7 @@ bool CommonClientRequest::should_abort_r
1395      assert(*eptr.__cxa_exception_type() ==
1396        typeid(crimson::common::system_shutdown_exception));
1397      crimson::get_logger(ceph_subsys_osd).debug(
1398 -        "{} {} operation skipped, system shutdown", __func__, op);
1399 +        "{} {} operation skipped, system shutdown", __func__, fmt::streamed(op));
1400      return true;
1401    }
1402  }
1403 --- ceph-17.2.3/src/crimson/osd/osd_operations/compound_peering_request.cc.orig 2022-07-28 23:52:12.000000000 +0200
1404 +++ ceph-17.2.3/src/crimson/osd/osd_operations/compound_peering_request.cc      2022-09-13 16:37:59.084922640 +0200
1405 @@ -4,6 +4,7 @@
1406  #include <seastar/core/future.hh>
1407  
1408  #include "osd/PeeringState.h"
1409 +#include "osd/osd_types_fmt.h"
1410  
1411  #include "messages/MOSDPGCreate2.h"
1412  
1413 @@ -44,7 +45,7 @@ public:
1414  
1415    PeeringEvent::interruptible_future<>
1416    complete_rctx(Ref<crimson::osd::PG> pg) final {
1417 -    logger().debug("{}: submitting ctx transaction", *this);
1418 +    logger().debug("{}: submitting ctx transaction", fmt::streamed(*this));
1419      state->ctx.accept_buffered_messages(ctx);
1420      state = {};
1421      if (!pg) {
1422 @@ -73,14 +74,14 @@ std::vector<crimson::OperationRef> handl
1423        "{}: {} e{} @{} "
1424        "history {} pi {}",
1425        __func__, pgid, created, created_stamp,
1426 -      history, pi);
1427 +      history, fmt::streamed(pi));
1428      if (!pi.empty() &&
1429         m->epoch < pi.get_bounds().second) {
1430        logger().error(
1431          "got pg_create on {} epoch {}  "
1432          "unmatched past_intervals {} (history {})",
1433          pgid, m->epoch,
1434 -        pi, history);
1435 +        fmt::streamed(pi), history);
1436      } else {
1437        auto op = osd.get_shard_services().start_operation<PeeringSubEvent>(
1438           state,
1439 @@ -141,7 +142,7 @@ void CompoundPeeringRequest::dump_detail
1440  
1441  seastar::future<> CompoundPeeringRequest::start()
1442  {
1443 -  logger().info("{}: starting", *this);
1444 +  logger().info("{}: starting", fmt::streamed(*this));
1445    auto state = seastar::make_lw_shared<compound_state>();
1446    auto blocker = std::make_unique<SubOpBlocker>(
1447      [&] {
1448 @@ -154,16 +155,16 @@ seastar::future<> CompoundPeeringRequest
1449      }());
1450  
1451    IRef ref = this;
1452 -  logger().info("{}: about to fork future", *this);
1453 +  logger().info("{}: about to fork future", fmt::streamed(*this));
1454    return crimson::common::handle_system_shutdown(
1455      [this, ref, blocker=std::move(blocker), state]() mutable {
1456      return with_blocking_future(
1457        blocker->make_blocking_future(state->promise.get_future())
1458      ).then([this, blocker=std::move(blocker)](auto &&ctx) {
1459 -      logger().info("{}: sub events complete", *this);
1460 +      logger().info("{}: sub events complete", fmt::streamed(*this));
1461        return osd.get_shard_services().dispatch_context_messages(std::move(ctx));
1462      }).then([this, ref=std::move(ref)] {
1463 -      logger().info("{}: complete", *this);
1464 +      logger().info("{}: complete", fmt::streamed(*this));
1465      });
1466    });
1467  }
1468 --- ceph-17.2.3/src/crimson/osd/osd_operations/internal_client_request.cc.orig  2022-07-28 23:52:12.000000000 +0200
1469 +++ ceph-17.2.3/src/crimson/osd/osd_operations/internal_client_request.cc       2022-09-13 16:38:05.051901752 +0200
1470 @@ -21,7 +21,7 @@ InternalClientRequest::InternalClientReq
1471  
1472  InternalClientRequest::~InternalClientRequest()
1473  {
1474 -  logger().debug("{}: destroying", *this);
1475 +  logger().debug("{}: destroying", fmt::streamed(*this));
1476  }
1477  
1478  void InternalClientRequest::print(std::ostream &) const
1479 @@ -41,7 +41,7 @@ seastar::future<> InternalClientRequest:
1480  {
1481    return crimson::common::handle_system_shutdown([this] {
1482      return seastar::repeat([this] {
1483 -      logger().debug("{}: in repeat", *this);
1484 +      logger().debug("{}: in repeat", fmt::streamed(*this));
1485        return interruptor::with_interruption([this]() mutable {
1486          return with_blocking_future_interruptible<interruptor::condition>(
1487            handle.enter(pp().wait_for_active)
1488 @@ -57,7 +57,7 @@ seastar::future<> InternalClientRequest:
1489              return with_blocking_future_interruptible<interruptor::condition>(
1490                handle.enter(pp().get_obc)
1491              ).then_interruptible([this] () -> PG::load_obc_iertr::future<> {
1492 -              logger().debug("{}: getting obc lock", *this);
1493 +              logger().debug("{}: getting obc lock", fmt::streamed(*this));
1494                return seastar::do_with(create_osd_ops(),
1495                  [this](auto& osd_ops) mutable {
1496                  logger().debug("InternalClientRequest: got {} OSDOps to execute",
1497 --- ceph-17.2.3/src/crimson/osd/osd_operations/peering_event.cc.orig    2022-07-28 23:52:12.000000000 +0200
1498 +++ ceph-17.2.3/src/crimson/osd/osd_operations/peering_event.cc 2022-09-13 16:38:13.575681414 +0200
1499 @@ -12,6 +12,12 @@
1500  #include "crimson/osd/osd_operations/peering_event.h"
1501  #include "crimson/osd/osd_connection_priv.h"
1502  
1503 +template <>
1504 +struct fmt::formatter<crimson::osd::PeeringEvent> : ostream_formatter {};
1505 +
1506 +template <>
1507 +struct fmt::formatter<crimson::osd::RemotePeeringEvent> : ostream_formatter {};
1508 +
1509  namespace {
1510    seastar::logger& logger() {
1511      return crimson::get_logger(ceph_subsys_osd);
1512 @@ -157,7 +163,7 @@ PeeringEvent::interruptible_future<> Rem
1513    if (pg) {
1514      return PeeringEvent::complete_rctx(pg);
1515    } else {
1516 -    logger().debug("{}: OSDState is {}", *this, osd.state);
1517 +    logger().debug("{}: OSDState is {}", *this, fmt::streamed(osd.state));
1518      return osd.state.when_active().then([this] {
1519        assert(osd.state.is_active());
1520        return shard_services.dispatch_context_messages(std::move(ctx));
1521 @@ -167,7 +173,7 @@ PeeringEvent::interruptible_future<> Rem
1522  
1523  seastar::future<> RemotePeeringEvent::complete_rctx_no_pg()
1524  {
1525 -  logger().debug("{}: OSDState is {}", *this, osd.state);
1526 +  logger().debug("{}: OSDState is {}", *this, fmt::streamed(osd.state));
1527    return osd.state.when_active().then([this] {
1528      assert(osd.state.is_active());
1529      return shard_services.dispatch_context_messages(std::move(ctx));
1530 --- ceph-17.2.3/src/crimson/osd/osd_operations/pg_advance_map.cc.orig   2022-07-28 23:52:12.000000000 +0200
1531 +++ ceph-17.2.3/src/crimson/osd/osd_operations/pg_advance_map.cc        2022-09-13 17:27:42.507671946 +0200
1532 @@ -53,7 +53,7 @@ seastar::future<> PGAdvanceMap::start()
1533  {
1534    using cached_map_t = boost::local_shared_ptr<const OSDMap>;
1535  
1536 -  logger().debug("{}: start", *this);
1537 +  logger().debug("{}: start", fmt::streamed(*this));
1538  
1539    IRef ref = this;
1540    return with_blocking_future(
1541 @@ -77,7 +77,7 @@ seastar::future<> PGAdvanceMap::start()
1542           if (do_init) {
1543             osd.pg_map.pg_created(pg->get_pgid(), pg);
1544             osd.shard_services.inc_pg_num();
1545 -           logger().info("PGAdvanceMap::start new pg {}", *pg);
1546 +           logger().info("PGAdvanceMap::start new pg {}", fmt::streamed(*pg));
1547           }
1548           return seastar::when_all_succeed(
1549             pg->get_need_up_thru() \
1550 @@ -90,7 +90,7 @@ seastar::future<> PGAdvanceMap::start()
1551            return osd.shard_services.send_pg_temp();
1552          });
1553      }).then([this, ref=std::move(ref)] {
1554 -      logger().debug("{}: complete", *this);
1555 +      logger().debug("{}: complete", fmt::streamed(*this));
1556      });
1557  }
1558  
1559 --- ceph-17.2.3/src/crimson/osd/osd_operations/recovery_subrequest.cc.orig      2022-07-28 23:52:12.000000000 +0200
1560 +++ ceph-17.2.3/src/crimson/osd/osd_operations/recovery_subrequest.cc   2022-09-13 17:58:35.838043438 +0200
1561 @@ -12,7 +12,7 @@ namespace {
1562  namespace crimson::osd {
1563  
1564  seastar::future<> RecoverySubRequest::start() {
1565 -  logger().debug("{}: start", *this);
1566 +  logger().debug("{}: start", fmt::streamed(*this));
1567  
1568    IRef opref = this;
1569    return with_blocking_future(
1570 --- ceph-17.2.3/src/crimson/osd/osd_operations/replicated_request.cc.orig       2022-07-28 23:52:12.000000000 +0200
1571 +++ ceph-17.2.3/src/crimson/osd/osd_operations/replicated_request.cc    2022-09-13 17:30:37.646841371 +0200
1572 @@ -58,7 +58,7 @@ RepRequest::PGPipeline &RepRequest::pp(P
1573  
1574  seastar::future<> RepRequest::start()
1575  {
1576 -  logger().debug("{} start", *this);
1577 +  logger().debug("{} start", fmt::streamed(*this));
1578    IRef ref = this;
1579  
1580    return with_blocking_future(handle.enter(cp().await_map))
1581 --- ceph-17.2.3/src/crimson/tools/store_nbd/tm_driver.cc.orig   2022-07-28 23:52:12.000000000 +0200
1582 +++ ceph-17.2.3/src/crimson/tools/store_nbd/tm_driver.cc        2022-09-14 16:25:47.783294166 +0200
1583 @@ -62,7 +62,7 @@ TMDriver::read_extents_ret TMDriver::rea
1584         t, offset, length
1585        ).si_then([this, &t, &pins, &ret](auto _pins) {
1586         _pins.swap(pins);
1587 -       logger().debug("read_extents: mappings {}", pins);
1588 +       logger().debug("read_extents: mappings {}", fmt::streamed(pins));
1589         return trans_intr::do_for_each(
1590           pins.begin(),
1591           pins.end(),
1592 @@ -78,7 +78,7 @@ TMDriver::read_extents_ret TMDriver::rea
1593               ret.push_back(std::make_pair(ref->get_laddr(), ref));
1594               logger().debug(
1595                 "read_extents: got extent {}",
1596 -               *ref);
1597 +               fmt::streamed(*ref));
1598               return seastar::now();
1599             });
1600           }).si_then([&ret] {
1601 --- ceph-17.2.5/src/mon/LogMonitor.cc.orig      2023-03-22 06:45:27.743273749 +0100
1602 +++ ceph-17.2.5/src/mon/LogMonitor.cc   2023-03-22 06:25:06.412142157 +0100
1603 @@ -415,7 +415,7 @@ void LogMonitor::log_external(const LogE
1604      }
1605  
1606      if (fd >= 0) {
1607 -      fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le);
1608 +      fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", fmt::streamed(le));
1609        int err = safe_write(fd, file_log_buffer.data(), file_log_buffer.size());
1610        file_log_buffer.clear();
1611        if (err < 0) {
1612 --- ceph-17.2.3/src/msg/Message.h.orig  2022-07-28 23:52:12.000000000 +0200
1613 +++ ceph-17.2.3/src/msg/Message.h       2022-09-09 06:30:47.541433908 +0200
1614 @@ -559,4 +559,12 @@ MURef<T> make_message(Args&&... args) {
1615    return {new T(std::forward<Args>(args)...), TOPNSPC::common::UniquePtrDeleter{}};
1616  }
1617  }
1618 +
1619 +#ifdef WITH_SEASTAR
1620 +#  include <fmt/ostream.h>
1621 +
1622 +template <>
1623 +struct fmt::formatter<Message> : ostream_formatter {};
1624 +#endif // WITH_SEASTAR
1625 +
1626  #endif
1627 --- ceph-17.2.3/src/msg/msg_fmt.h.orig  2022-07-28 23:52:12.000000000 +0200
1628 +++ ceph-17.2.3/src/msg/msg_fmt.h       2022-09-07 16:56:49.030752970 +0200
1629 @@ -24,3 +24,15 @@ struct fmt::formatter<entity_name_t> {
1630      return fmt::format_to(ctx.out(), "{}.{}", addr.type_str(), addr.num());
1631    }
1632  };
1633 +
1634 +template <>
1635 +struct fmt::formatter<sockaddr_storage> : ostream_formatter {};
1636 +
1637 +template <>
1638 +struct fmt::formatter<sockaddr *> : ostream_formatter {};
1639 +
1640 +template <>
1641 +struct fmt::formatter<entity_addr_t> : ostream_formatter {};
1642 +
1643 +template <>
1644 +struct fmt::formatter<entity_addrvec_t> : ostream_formatter {};
1645 --- ceph-17.2.5/src/osd/osd_types_fmt.h.orig    2023-03-22 06:45:27.893272937 +0100
1646 +++ ceph-17.2.5/src/osd/osd_types_fmt.h 2023-03-22 06:26:17.049743254 +0100
1647 @@ -115,3 +115,18 @@ struct fmt::formatter<pg_t> {
1648      return fmt::format_to(ctx.out(), "{}.{:x}", pg.pool(), pg.m_seed);
1649    }
1650  };
1651 +
1652 +template <>
1653 +struct fmt::formatter<coll_t> : ostream_formatter {};
1654 +
1655 +template <>
1656 +struct fmt::formatter<pg_history_t> : ostream_formatter {};
1657 +
1658 +template <>
1659 +struct fmt::formatter<spg_t> : ostream_formatter {};
1660 +
1661 +template <>
1662 +struct fmt::formatter<watch_info_t> : ostream_formatter {};
1663 +
1664 +template <typename T>
1665 +struct fmt::formatter<interval_set<T>> : ostream_formatter {};
1666 --- ceph-17.2.3/src/seastar/include/seastar/core/print.hh.orig  2021-12-19 23:02:10.000000000 +0100
1667 +++ ceph-17.2.3/src/seastar/include/seastar/core/print.hh       2022-09-09 18:12:17.899077047 +0200
1668 @@ -155,3 +155,6 @@ fmt_print(std::ostream& os, const char*
1669  }
1670  
1671  }
1672 +
1673 +template <typename Clock, typename Dur>
1674 +struct fmt::formatter<std::chrono::time_point<Clock, Dur>> : ostream_formatter {};
1675 --- ceph-17.2.3/src/seastar/include/seastar/core/shared_ptr.hh.orig     2021-12-19 23:02:10.000000000 +0100
1676 +++ ceph-17.2.3/src/seastar/include/seastar/core/shared_ptr.hh  2022-09-08 18:29:43.378965666 +0200
1677 @@ -26,6 +26,7 @@
1678  #include <type_traits>
1679  #include <functional>
1680  #include <ostream>
1681 +#include <fmt/ostream.h>
1682  #include <seastar/util/is_smart_ptr.hh>
1683  #include <seastar/util/indirect.hh>
1684  
1685 @@ -839,6 +840,9 @@ using shared_ptr_value_hash = indirect_h
1686  
1687  }
1688  
1689 +template <typename T>
1690 +struct fmt::formatter<seastar::shared_ptr<T>> : ostream_formatter {};
1691 +
1692  namespace std {
1693  
1694  template <typename T>
1695 --- ceph-17.2.3/src/seastar/include/seastar/net/inet_address.hh.orig    2021-12-19 23:02:10.000000000 +0100
1696 +++ ceph-17.2.3/src/seastar/include/seastar/net/inet_address.hh 2022-09-08 06:29:04.805312816 +0200
1697 @@ -26,6 +26,7 @@
1698  #include <netinet/in.h>
1699  #include <stdexcept>
1700  #include <vector>
1701 +#include <fmt/ostream.h>
1702  
1703  #include <seastar/core/future.hh>
1704  #include <seastar/core/sstring.hh>
1705 @@ -126,3 +127,6 @@ struct hash<seastar::net::inet_address>
1706      size_t operator()(const seastar::net::inet_address&) const;
1707  };
1708  }
1709 +
1710 +template <>
1711 +struct fmt::formatter<seastar::net::inet_address> : ostream_formatter {};
1712 --- ceph-17.2.3/src/seastar/include/seastar/net/socket_defs.hh.orig     2021-12-19 23:02:10.000000000 +0100
1713 +++ ceph-17.2.3/src/seastar/include/seastar/net/socket_defs.hh  2022-09-08 06:35:44.041541450 +0200
1714 @@ -28,6 +28,7 @@
1715  #include <seastar/net/byteorder.hh>
1716  #include <seastar/net/unix_address.hh>
1717  #include <cassert>
1718 +#include <fmt/ostream.h>
1719  
1720  namespace seastar {
1721  
1722 @@ -184,3 +185,6 @@ struct hash<seastar::transport> {
1723  };
1724  
1725  }
1726 +
1727 +template <>
1728 +struct fmt::formatter<seastar::socket_address> : ostream_formatter {};
1729 --- ceph-17.2.3/src/seastar/include/seastar/util/backtrace.hh.orig      2021-12-19 23:02:10.000000000 +0100
1730 +++ ceph-17.2.3/src/seastar/include/seastar/util/backtrace.hh   2022-09-07 17:09:17.119598672 +0200
1731 @@ -162,6 +162,9 @@ struct hash<seastar::tasktrace> {
1732  
1733  }
1734  
1735 +template <>
1736 +struct fmt::formatter<seastar::tasktrace> : ostream_formatter {};
1737 +
1738  namespace seastar {
1739  
1740  using saved_backtrace = tasktrace;
1741 --- ceph-17.2.3/src/seastar/include/seastar/util/log.hh.orig    2021-12-19 23:02:10.000000000 +0100
1742 +++ ceph-17.2.3/src/seastar/include/seastar/util/log.hh 2022-09-07 17:16:57.860168355 +0200
1743 @@ -524,4 +524,13 @@ std::ostream& operator<<(std::ostream&,
1744  std::ostream& operator<<(std::ostream&, const std::system_error&);
1745  }
1746  
1747 +template <>
1748 +struct fmt::formatter<std::exception_ptr> : ostream_formatter {};
1749 +
1750 +template <>
1751 +struct fmt::formatter<std::exception> : ostream_formatter {};
1752 +
1753 +template <>
1754 +struct fmt::formatter<std::system_error> : ostream_formatter {};
1755 +
1756  /// @}
1757 --- ceph-17.2.3/src/seastar/src/core/io_queue.cc.orig   2021-12-19 23:02:10.000000000 +0100
1758 +++ ceph-17.2.3/src/seastar/src/core/io_queue.cc        2022-09-04 19:41:17.627629354 +0200
1759 @@ -207,7 +207,7 @@ public:
1760          , _fq_entry(_ioq.request_fq_ticket(dnl))
1761          , _desc(std::make_unique<io_desc_read_write>(_ioq, pc, _stream, _fq_entry.ticket()))
1762      {
1763 -        io_log.trace("dev {} : req {} queue  len {} ticket {}", _ioq.dev_id(), fmt::ptr(&*_desc), _dnl.length(), _fq_entry.ticket());
1764 +        io_log.trace("dev {} : req {} queue  len {} ticket {}", _ioq.dev_id(), fmt::ptr(&*_desc), _dnl.length(), fmt::streamed(_fq_entry.ticket()));
1765      }
1766  
1767      queued_io_request(queued_io_request&&) = delete;
1768 --- ceph-17.2.3/src/seastar/src/core/memory.cc.orig     2021-12-19 23:02:10.000000000 +0100
1769 +++ ceph-17.2.3/src/seastar/src/core/memory.cc  2022-09-04 19:34:50.387337178 +0200
1770 @@ -1616,6 +1616,15 @@ std::ostream& operator<<(std::ostream& o
1771      return os;
1772  }
1773  
1774 +}
1775 +}
1776 +
1777 +template <>
1778 +struct fmt::formatter<seastar::memory::human_readable_value> : ostream_formatter {};
1779 +
1780 +namespace seastar {
1781 +namespace memory {
1782 +
1783  static human_readable_value to_human_readable_value(uint64_t value, uint64_t step, uint64_t precision, const std::array<char, 5>& suffixes) {
1784      if (!value) {
1785          return {0, suffixes[0]};
1786 --- ceph-17.2.3/src/seastar/src/core/reactor.cc.orig    2021-12-19 23:02:10.000000000 +0100
1787 +++ ceph-17.2.3/src/seastar/src/core/reactor.cc 2022-09-04 19:39:35.978957648 +0200
1788 @@ -3487,7 +3487,7 @@ reactor_options::reactor_options(program
1789                   " The diagnostics will be written to the seastar_memory logger, with error level."
1790                   " Note that if the seastar_memory logger is set to debug or trace level, the diagnostics will be logged irrespective of this setting.")
1791      , reactor_backend(*this, "reactor-backend", backend_selector_candidates(), reactor_backend_selector::default_backend().name(),
1792 -                format("Internal reactor implementation ({})", reactor_backend_selector::available()))
1793 +                format("Internal reactor implementation ({})", fmt::streamed(reactor_backend_selector::available())))
1794      , aio_fsync(*this, "aio-fsync", kernel_supports_aio_fsync(),
1795                  "Use Linux aio for fsync() calls. This reduces latency; requires Linux 4.18 or later.")
1796      , max_networking_io_control_blocks(*this, "max-networking-io-control-blocks", 10000,
1797 --- ceph-17.2.3/src/seastar/src/net/dns.cc.orig 2021-12-19 23:02:10.000000000 +0100
1798 +++ ceph-17.2.3/src/seastar/src/net/dns.cc      2022-09-04 20:36:25.288504129 +0200
1799 @@ -238,7 +238,7 @@ public:
1800              sstring name;
1801          };
1802  
1803 -        dns_log.debug("Query name {} ({})", name, family);
1804 +        dns_log.debug("Query name {} ({})", name, fmt::streamed(family));
1805  
1806          if (!family) {
1807              auto res = inet_address::parse_numerical(name);
1808 --- ceph-17.2.3/src/seastar/src/rpc/rpc.cc.orig 2021-12-19 23:02:10.000000000 +0100
1809 +++ ceph-17.2.3/src/seastar/src/rpc/rpc.cc      2022-09-04 20:49:25.379426601 +0200
1810 @@ -790,7 +790,7 @@ namespace rpc {
1811                    f = smp::submit_to(_parent_id.shard(), [this, c = make_foreign(static_pointer_cast<rpc::connection>(shared_from_this()))] () mutable {
1812                        auto sit = _servers.find(*_server._options.streaming_domain);
1813                        if (sit == _servers.end()) {
1814 -                          throw std::logic_error(format("Shard {:d} does not have server with streaming domain {:x}", this_shard_id(), *_server._options.streaming_domain).c_str());
1815 +                          throw std::logic_error(format("Shard {:d} does not have server with streaming domain {}", this_shard_id(), fmt::streamed(*_server._options.streaming_domain)).c_str());
1816                        }
1817                        auto s = sit->second;
1818                        auto it = s->_conns.find(_parent_id);
1819 @@ -1010,7 +1010,7 @@ future<> server::connection::send_unknow
1820    {
1821        if (_options.streaming_domain) {
1822            if (_servers.find(*_options.streaming_domain) != _servers.end()) {
1823 -              throw std::runtime_error(format("An RPC server with the streaming domain {} is already exist", *_options.streaming_domain));
1824 +              throw std::runtime_error(format("An RPC server with the streaming domain {} is already exist", fmt::streamed(*_options.streaming_domain)));
1825            }
1826            _servers[*_options.streaming_domain] = this;
1827        }
1828 --- ceph-17.2.3/src/test/crimson/seastore/onode_tree/test_value.h.orig  2022-07-28 23:52:12.000000000 +0200
1829 +++ ceph-17.2.3/src/test/crimson/seastore/onode_tree/test_value.h       2022-09-11 08:56:20.792343731 +0200
1830 @@ -138,12 +138,12 @@ class TestValue final : public Value {
1831          }
1832          default:
1833            logger().error("OTree::TestValue::Replay: got unknown op {} when replay {:#x}+{:#x}",
1834 -                         op, value_addr, payload_mut.get_length());
1835 +                         static_cast<uint8_t>(op), value_addr, payload_mut.get_length());
1836            ceph_abort();
1837          }
1838        } catch (buffer::error& e) {
1839          logger().error("OTree::TestValue::Replay: got decode error {} when replay {:#x}+{:#x}",
1840 -                       e, value_addr, payload_mut.get_length());
1841 +                       fmt::streamed(e), value_addr, payload_mut.get_length());
1842          ceph_abort();
1843        }
1844      }
1845 --- ceph-17.2.3/src/tools/neorados.cc.orig      2022-08-30 09:00:26.418417475 +0200
1846 +++ ceph-17.2.3/src/tools/neorados.cc   2022-09-04 20:23:19.850824080 +0200
1847 @@ -55,7 +55,7 @@ void printseq(const V& v, std::ostream&
1848  {
1849    std::for_each(v.cbegin(), v.cend(),
1850                 [&m](const auto& e) {
1851 -                 fmt::print(m, "{}\n", e);
1852 +                 fmt::print(m, "{}\n", fmt::streamed(e));
1853                 });
1854  }
1855  
1856 @@ -321,7 +321,7 @@ int main(int argc, char* argv[])
1857      po::notify(vm);
1858  
1859      if (vm.count("help")) {
1860 -      fmt::print("{}", desc);
1861 +      fmt::print("{}", fmt::streamed(desc));
1862        fmt::print("Commands:\n");
1863        for (const auto& cmd : commands) {
1864         fmt::print("    {} {}{}{}\n",
1865 --- ceph-17.2.3/src/tools/crimson/perf_crimson_msgr.cc.orig     2022-07-28 23:52:12.000000000 +0200
1866 +++ ceph-17.2.3/src/tools/crimson/perf_crimson_msgr.cc  2022-09-09 19:53:09.761115666 +0200
1867 @@ -14,6 +14,7 @@
1868  #include <seastar/core/smp.hh>
1869  
1870  #include "common/ceph_time.h"
1871 +#include "msg/msg_fmt.h"
1872  #include "messages/MOSDOp.h"
1873  
1874  #include "crimson/auth/DummyAuth.h"
1875 --- ceph-17.2.6/src/msg/async/frames_v2.cc.orig 2023-04-05 17:09:51.000000000 +0200
1876 +++ ceph-17.2.6/src/msg/async/frames_v2.cc      2023-07-23 19:36:01.099940933 +0200
1877 @@ -13,6 +13,7 @@
1878   */
1879  
1880  #include "frames_v2.h"
1881 +#include "include/types_fmt.h"
1882  
1883  #include <ostream>
1884  
1885 --- ceph-17.2.6/src/tools/neorados.cc.orig      2023-07-23 22:23:34.495477015 +0200
1886 +++ ceph-17.2.6/src/tools/neorados.cc   2023-07-24 06:24:15.432545633 +0200
1887 @@ -143,7 +143,7 @@ void create(R::RADOS& r, const std::vect
1888      throw bs::system_error(ec,
1889                            fmt::format(
1890                              "when creating object '{}' in pool '{}'",
1891 -                            obj, pname));
1892 +                            fmt::streamed(obj), pname));
1893  }
1894  
1895  inline constexpr std::size_t io_size = 4 << 20;
1896 @@ -179,7 +179,7 @@ void write(R::RADOS& r, const std::vecto
1897      if (ec)
1898        throw bs::system_error(ec, fmt::format(
1899                                "when writing object '{}' in pool '{}'",
1900 -                              obj, pname));
1901 +                              fmt::streamed(obj), pname));
1902    }
1903  }
1904  
1905 @@ -200,7 +200,7 @@ void read(R::RADOS& r, const std::vector
1906        throw bs::system_error(
1907         ec,
1908         fmt::format("when getting length of object '{}' in pool '{}'",
1909 -                   obj, pname));
1910 +                   fmt::streamed(obj), pname));
1911    }
1912  
1913    std::size_t off = 0;
1914 @@ -213,7 +213,7 @@ void read(R::RADOS& r, const std::vector
1915        throw bs::system_error(
1916         ec,
1917         fmt::format("when reading from object '{}' in pool '{}'",
1918 -                   obj, pool));
1919 +                   fmt::streamed(obj), pool));
1920  
1921      off += bl.length();
1922      bl.write_stream(std::cout);
1923 @@ -234,7 +234,7 @@ void rm(R::RADOS& r, const std::vector<s
1924    if (ec)
1925      throw bs::system_error(ec, fmt::format(
1926                              "when removing object '{}' in pool '{}'",
1927 -                            obj, pname));
1928 +                            fmt::streamed(obj), pname));
1929  }
1930  
1931  static constexpr auto version = std::make_tuple(0ul, 0ul, 1ul);
This page took 0.21101 seconds and 4 git commands to generate.