#include "crimson/osd/osd_operation_external_tracking.h"
#include "crimson/osd/osd_operations/client_request.h"
#include "crimson/osd/osd_connection_priv.h"
+#include "osd/object_state_fmt.h"
namespace {
seastar::logger& logger() {
return pg->with_locked_obc(
m->get_hobj(), op_info,
[this, pg, &ihref](auto obc) mutable {
- logger().debug("{}: got obc {}", *this, obc->obs.exists);
+ logger().debug("{}: got obc {}", *this, obc->obs);
return ihref.enter_stage<interruptor>(
pp(*pg).process, *this
).then_interruptible([this, pg, obc, &ihref]() mutable {
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+#pragma once
+/**
+ * \file fmtlib formatters for some types.h classes
+ */
+
+#include "osd/object_state.h"
+#include "osd/osd_types_fmt.h"
+#if FMT_VERSION >= 90000
+#include <fmt/ostream.h>
+#endif
+
+template <>
+struct fmt::formatter<ObjectState> {
+ constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
+
+ template <typename FormatContext>
+ auto format(const ObjectState& os, FormatContext& ctx) const
+ {
+ return fmt::format_to(ctx.out(), "exists {} oi {}", os.exists, os.oi);
+ }
+};