From: Xuehan Xu Date: Thu, 29 Feb 2024 06:06:35 +0000 (+0800) Subject: crimson/os/seastore/btree: misc consolidations X-Git-Tag: testing/wip-vshankar-testing-20240521.063558-debug~6^2~5 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=72d721ad72d15296b069752985f12e173f9690da;p=ceph-ci.git crimson/os/seastore/btree: misc consolidations 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 7247bbb82b3..e1b81d8ac66 100644 --- a/src/crimson/os/seastore/btree/fixed_kv_btree.h +++ b/src/crimson/os/seastore/btree/fixed_kv_btree.h @@ -592,6 +592,15 @@ public: : true); } } + } else if (child == get_reserved_ptr()) { + if constexpr( + !std::is_base_of_v) { + assert(i->get_val().pladdr.is_paddr()); + assert(i->get_val().pladdr.get_paddr() == P_ADDR_ZERO); + } else { + ceph_abort(); + } } } else { ceph_abort("impossible"); diff --git a/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h b/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h index 73aa77ab0a5..c5da860e24f 100644 --- a/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h +++ b/src/crimson/os/seastore/lba_manager/btree/lba_btree_node.h @@ -171,6 +171,8 @@ struct LBALeafNode for (auto i : *this) { auto child = (LogicalCachedExtent*)this->children[i.get_offset()]; + // Children may not be marked as stable yet, + // the specific order is undefined in the transaction prepare record phase. if (is_valid_child_ptr(child) && child->get_laddr() != i.get_key()) { SUBERROR(seastore_fixedkv_tree, "stable child not valid: child {}, key {}",