]>
Commit | Line | Data |
---|---|---|
c5b31b08 JB |
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 | ||
f54c2174 | 12 | @@ -26,3 +28,24 @@ struct fmt::formatter<std::map<A, B, Com |
c5b31b08 JB |
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 {}; | |
f54c2174 JB |
34 | + |
35 | +template <typename T> | |
36 | +struct fmt::formatter<ceph_le<T>> : ostream_formatter {}; | |
c5b31b08 JB |
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 | |
f54c2174 | 49 | @@ -50,3 +50,9 @@ template <> struct fmt::formatter<hobjec |
c5b31b08 JB |
50 | ho.get_bitwise_key_u32(), v, ho.snap); |
51 | } | |
52 | }; | |
53 | + | |
54 | +template <> | |
55 | +struct fmt::formatter<ghobject_t> : ostream_formatter {}; | |
f54c2174 JB |
56 | + |
57 | +template <> | |
58 | +struct fmt::formatter<snapid_t> : ostream_formatter {}; | |
c5b31b08 JB |
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" | |
c5b31b08 JB |
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(); | |
434b7419 | 463 | } |
c5b31b08 JB |
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 | }); | |
434b7419 | 1467 | } |
c5b31b08 JB |
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)); | |
434b7419 | 1556 | }); |
c5b31b08 JB |
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] { | |
4c3aa1f1 JB |
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 | |
434b7419 JB |
1603 | @@ -415,7 +415,7 @@ void LogMonitor::log_external(const LogE |
1604 | } | |
1605 | ||
1606 | if (fd >= 0) { | |
4c3aa1f1 | 1607 | - fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le); |
434b7419 JB |
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) { | |
c5b31b08 JB |
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 {}; | |
4c3aa1f1 JB |
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); | |
c5b31b08 JB |
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 <> | |
c5b31b08 JB |
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* | |
434b7419 JB |
1669 | } |
1670 | ||
434b7419 | 1671 | } |
c5b31b08 JB |
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 | |
434b7419 | 1686 | |
434b7419 JB |
1687 | } |
1688 | ||
c5b31b08 JB |
1689 | +template <typename T> |
1690 | +struct fmt::formatter<seastar::shared_ptr<T>> : ostream_formatter {}; | |
434b7419 | 1691 | + |
c5b31b08 JB |
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 | } | |
434b7419 | 1709 | + |
c5b31b08 JB |
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 | } | |
434b7419 | 1726 | + |
c5b31b08 JB |
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 | } | |
434b7419 | 1734 | |
c5b31b08 JB |
1735 | +template <> |
1736 | +struct fmt::formatter<seastar::tasktrace> : ostream_formatter {}; | |
1737 | + | |
1738 | namespace seastar { | |
434b7419 | 1739 | |
c5b31b08 JB |
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 | } | |
434b7419 | 1746 | |
c5b31b08 JB |
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 | /// @} | |
434b7419 JB |
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; | |
c5b31b08 JB |
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; | |
434b7419 | 1772 | } |
434b7419 | 1773 | |
c5b31b08 JB |
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 | |
434b7419 JB |
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, | |
434b7419 JB |
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); | |
434b7419 JB |
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 | |
434b7419 JB |
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 | } | |
c5b31b08 JB |
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 { | |
434b7419 | 1831 | } |
c5b31b08 JB |
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(); | |
434b7419 | 1837 | } |
c5b31b08 JB |
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 | } | |
434b7419 | 1844 | } |
c5b31b08 JB |
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 | }); | |
434b7419 JB |
1854 | } |
1855 | ||
c5b31b08 JB |
1856 | @@ -321,7 +321,7 @@ int main(int argc, char* argv[]) |
1857 | po::notify(vm); | |
434b7419 | 1858 | |
c5b31b08 JB |
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> | |
434b7419 | 1869 | |
c5b31b08 JB |
1870 | #include "common/ceph_time.h" |
1871 | +#include "msg/msg_fmt.h" | |
1872 | #include "messages/MOSDOp.h" | |
434b7419 | 1873 | |
c5b31b08 | 1874 | #include "crimson/auth/DummyAuth.h" |
f54c2174 JB |
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); |