--- /dev/null
+#include "crimson/os/seastore/segment_manager.h"
+
+namespace crimson::os::seastore {
+
+ std::ostream& operator<<(std::ostream &out, Segment::segment_state_t s)
+ {
+ using state_t = Segment::segment_state_t;
+ switch (s) {
+ case state_t::EMPTY:
+ return out << "EMPTY";
+ case state_t::OPEN:
+ return out << "OPEN";
+ case state_t::CLOSED:
+ return out << "CLOSED";
+ default:
+ return out << "INVALID_SEGMENT_STATE!";
+ }
+ }
+}
if (exists &&
keyring.load(nullptr, path) == 0 &&
keyring.get_auth(name, auth)) {
- seastar::fprint(std::cerr, "already have key in keyring: %s\n", path);
+ fmt::print(std::cerr, "already have key in keyring: %s\n", path);
return seastar::now();
} else {
auth.key.create(std::make_unique<CephContext>().get(), CEPH_CRYPTO_AES);
return crimson::write_file(std::move(bl), path, permissions);
}
}).handle_exception_type([path](const std::filesystem::filesystem_error& e) {
- seastar::fprint(std::cerr, "FATAL: writing new keyring to %s: %s\n", path, e.what());
+ fmt::print(std::cerr, "FATAL: writing new keyring to %s: %s\n", path, e.what());
throw e;
});
}
});
});
} catch (...) {
- seastar::fprint(std::cerr, "FATAL: Exception during startup, aborting: %s\n", std::current_exception());
+ fmt::print(std::cerr, "FATAL: Exception during startup, aborting: %s\n", std::current_exception());
return EXIT_FAILURE;
}
}
sstring
format(const char* fmt, A&&... a) {
fmt::memory_buffer out;
+#if FMT_VERSION >= 80000
+ fmt::format_to(fmt::appender(out), fmt::runtime(fmt), std::forward<A>(a)...);
+#else
fmt::format_to(out, fmt, std::forward<A>(a)...);
+#endif
return sstring{out.data(), out.size()};
}