From: Xuehan Xu Date: Mon, 16 Oct 2023 08:16:58 +0000 (+0800) Subject: test/crimson/seastore/lba_manager: skip indirect lba mappings X-Git-Tag: v19.0.0~185^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=42a3901f0f9a68fa46963c321de8740d45468485;p=ceph.git test/crimson/seastore/lba_manager: skip indirect lba mappings Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/btree/fixed_kv_btree.h b/src/crimson/os/seastore/btree/fixed_kv_btree.h index 2970d0440850..4133be627c10 100644 --- a/src/crimson/os/seastore/btree/fixed_kv_btree.h +++ b/src/crimson/os/seastore/btree/fixed_kv_btree.h @@ -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); diff --git a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc index a607cd612a59..bb43bdb2c4f4 100644 --- a/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc @@ -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);