]>
git.proxmox.com Git - ceph.git/blob - ceph/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.cc
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
10 #include "include/buffer.h"
11 #include "include/byteorder.h"
13 #include "crimson/os/seastore/lba_manager/btree/lba_btree_node.h"
14 #include "crimson/os/seastore/logging.h"
16 SET_SUBSYS(seastore_lba
);
18 namespace crimson::os::seastore::lba_manager::btree
{
20 std::ostream
& operator<<(std::ostream
& out
, const lba_map_val_t
& v
)
22 return out
<< "lba_map_val_t("
25 << ", refcount=" << v
.refcount
26 << ", checksum=" << v
.checksum
30 std::ostream
&LBALeafNode::_print_detail(std::ostream
&out
) const
32 out
<< ", size=" << this->get_size()
33 << ", meta=" << this->get_meta()
34 << ", my_tracker=" << (void*)this->my_tracker
;
35 if (this->my_tracker
) {
36 out
<< ", my_tracker->parent=" << (void*)this->my_tracker
->get_parent().get();
38 return out
<< ", root_block=" << (void*)this->root_block
.get();
41 void LBALeafNode::resolve_relative_addrs(paddr_t base
)
43 LOG_PREFIX(LBALeafNode::resolve_relative_addrs
);
45 if (i
->get_val().paddr
.is_relative()) {
46 auto val
= i
->get_val();
47 val
.paddr
= base
.add_relative(val
.paddr
);
48 TRACE("{} -> {}", i
->get_val().paddr
, val
.paddr
);