From 8d30cff9e2ab10f246111e522b635860f1fc07db Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Sun, 10 Aug 2025 12:00:04 +0800 Subject: [PATCH] crimson/os/seastore/lba_manager: consider mutation pending extents when asserting the validity of their parents Signed-off-by: Xuehan Xu --- src/crimson/os/seastore/lba/btree_lba_manager.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.cc b/src/crimson/os/seastore/lba/btree_lba_manager.cc index 8582da9ea0d..c9ef58ea5c8 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba/btree_lba_manager.cc @@ -288,7 +288,15 @@ BtreeLBAManager::get_mapping( { LOG_PREFIX(BtreeLBAManager::get_mapping); TRACET("{}", t, extent); - assert(extent.peek_parent_node()->is_valid()); +#ifndef NDEBUG + if (extent.is_mutation_pending()) { + auto &prior = static_cast( + *extent.get_prior_instance()); + assert(prior.peek_parent_node()->is_valid()); + } else { + assert(extent.peek_parent_node()->is_valid()); + } +#endif auto c = get_context(t); return with_btree( cache, -- 2.47.3