]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/.../lba_btree_node_impl: always return absolute or record relativ...
authorSamuel Just <sjust@redhat.com>
Mon, 19 Oct 2020 20:14:21 +0000 (13:14 -0700)
committerSamuel Just <sjust@redhat.com>
Tue, 20 Oct 2020 19:27:12 +0000 (12:27 -0700)
insert and lookup_range should return absolute or record-relative addrs,
never block relative.

Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/lba_manager/btree/lba_btree_node_impl.cc

index 1260d477abf54fffdd6b04a71eae6f5482bbeb40..39dcf9f9efefb308a6f3231e448e8c716c7cea90 100644 (file)
@@ -436,7 +436,7 @@ LBALeafNode::lookup_range_ret LBALeafNode::lookup_range(
     ret.emplace_back(
       std::make_unique<BtreeLBAPin>(
        this,
-       val.paddr,
+       val.paddr.maybe_relative_to(get_paddr()),
        lba_node_meta_t{ begin, begin + val.len, 0}));
   }
   return lookup_range_ertr::make_ready_future<lba_pin_list_t>(
@@ -475,7 +475,7 @@ LBALeafNode::insert_ret LBALeafNode::insert(
     insert_ertr::ready_future_marker{},
     std::make_unique<BtreeLBAPin>(
       this,
-      val.paddr,
+      val.paddr.maybe_relative_to(get_paddr()),
       lba_node_meta_t{ begin, begin + val.len, 0}));
 }