]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/lba_manager: consider mutation pending extents when
authorXuehan Xu <xuxuehan@qianxin.com>
Sun, 10 Aug 2025 04:00:04 +0000 (12:00 +0800)
committerXuehan Xu <xxhdx1985126@gmail.com>
Tue, 12 Aug 2025 05:43:25 +0000 (13:43 +0800)
asserting the validity of their parents

Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
src/crimson/os/seastore/lba/btree_lba_manager.cc

index 8582da9ea0deb9602cbbde53a09e4ef985354ad4..c9ef58ea5c8f7ef44654554fa4a9b159e4882d7b 100644 (file)
@@ -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<LogicalChildNode&>(
+      *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<LBABtree>(
     cache,