]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/.../lba_btree_node_impl: handle relative addr in merge 41423/head
authorSamuel Just <sjust@redhat.com>
Sat, 8 May 2021 02:42:47 +0000 (02:42 +0000)
committerSamuel Just <sjust@redhat.com>
Wed, 19 May 2021 21:12:24 +0000 (14:12 -0700)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc

index 1e11a99fd48a64c0dd4b97c00e6866be48a9fac5..fe03f8046fe3b0bf53b64b32c4474c1fc41fdbe2 100644 (file)
@@ -399,13 +399,14 @@ LBAInternalNode::merge_entry(
            auto mut_croot = c.cache.duplicate_for_write(c.trans, croot);
            croot = mut_croot->cast<RootBlock>();
          }
+         auto new_root_addr = begin()->get_val().maybe_relative_to(get_paddr());
          croot->get_root().lba_root = lba_root_t{
-           begin()->get_val(),
+           new_root_addr,
            get_meta().depth - 1};
          logger().debug(
            "LBAInternalNode::merge_entry: collapsing root {} to addr {}",
            *this,
-           begin()->get_val());
+           new_root_addr);
          c.cache.retire_extent(c.trans, this);
          return merge_ertr::make_ready_future<LBANodeRef>(replacement);
        });