SET_SUBSYS(seastore_onode);
+namespace fmt {
+template <typename T>
+const void* ptr(const ::boost::intrusive_ptr<T>& p) {
+ return p.get();
+}
+}
+
namespace crimson::os::seastore::onode {
/*
* tree_cursor_t
if (!field_type) {
ERRORT("load addr={:x}, is_level_tail={} error, "
"got invalid header -- {}",
- c.t, addr, expect_is_level_tail, extent);
+ c.t, addr, expect_is_level_tail, fmt::ptr(extent));
ceph_abort("fatal error");
}
if (header.get_is_level_tail() != expect_is_level_tail) {
ERRORT("load addr={:x}, is_level_tail={} error, "
"is_level_tail mismatch -- {}",
- c.t, addr, expect_is_level_tail, extent);
+ c.t, addr, expect_is_level_tail, fmt::ptr(extent));
ceph_abort("fatal error");
}
if (extent->get_length() != c.vb.get_leaf_node_size()) {
ERRORT("load addr={:x}, is_level_tail={} error, "
"leaf length mismatch -- {}",
- c.t, addr, expect_is_level_tail, extent);
+ c.t, addr, expect_is_level_tail, fmt::ptr(extent));
ceph_abort("fatal error");
}
auto impl = LeafNodeImpl::load(extent, *field_type);
if (extent->get_length() != c.vb.get_internal_node_size()) {
ERRORT("load addr={:x}, is_level_tail={} error, "
"internal length mismatch -- {}",
- c.t, addr, expect_is_level_tail, extent);
+ c.t, addr, expect_is_level_tail, fmt::ptr(extent));
ceph_abort("fatal error");
}
auto impl = InternalNodeImpl::load(extent, *field_type);