]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
test/crimson/seastore/lba_manager: skip indirect lba mappings
authorXuehan Xu <xuxuehan@qianxin.com>
Mon, 16 Oct 2023 08:16:58 +0000 (16:16 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Wed, 1 Nov 2023 07:13:15 +0000 (15:13 +0800)
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/os/seastore/btree/fixed_kv_btree.h
src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc

index 2970d04408506905ac36363c6769448a9248d8fb..4133be627c10b334ec73aa37bf3f7ed111a5f43a 100644 (file)
@@ -505,7 +505,9 @@ public:
           i->get_val().maybe_relative_to(node->get_paddr()),
           &child_node);
       } else {
-        assert(i->get_val().pladdr.is_paddr());
+        if (i->get_val().pladdr.is_laddr()) {
+          continue;
+        }
         ret = c.trans.get_extent(
           i->get_val().pladdr.get_paddr().maybe_relative_to(node->get_paddr()),
           &child_node);
index a607cd612a59abe5fa4e6a880c14f318c68ec804..bb43bdb2c4f4b8e1848c17965edb1d9b58978769 100644 (file)
@@ -496,7 +496,9 @@ BtreeLBAManager::scan_mappings(
              seastar::stop_iteration::yes);
          }
          ceph_assert((pos.get_key() + pos.get_val().len) > begin);
-         f(pos.get_key(), pos.get_val().pladdr.get_paddr(), pos.get_val().len);
+         if (pos.get_val().pladdr.is_paddr()) {
+           f(pos.get_key(), pos.get_val().pladdr.get_paddr(), pos.get_val().len);
+         }
          return LBABtree::iterate_repeat_ret_inner(
            interruptible::ready_future_marker{},
            seastar::stop_iteration::no);