From: Xuehan Xu Date: Sat, 2 Aug 2025 14:32:13 +0000 (+0800) Subject: crimson/os/seastore/cache: no need to add extents to Cache::extent_index X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=02c012d93c6adeccf1f63626621c381d9bf41ea9;p=ceph.git crimson/os/seastore/cache: no need to add extents to Cache::extent_index once SeaStore is fully booted Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index cb1d43e0e7a..0ffa689759a 100644 --- a/src/crimson/os/seastore/cache.cc +++ b/src/crimson/os/seastore/cache.cc @@ -742,7 +742,9 @@ void Cache::add_extent(CachedExtentRef ref) assert(ref->rewrite_generation == NULL_GENERATION); assert(ref->get_paddr().is_absolute() || ref->get_paddr().is_root()); - extents_index.insert(*ref); + if (booting) { + extents_index.insert(*ref); + } } void Cache::mark_dirty(CachedExtentRef ref) @@ -884,7 +886,9 @@ void Cache::remove_extent( assert(ref->get_paddr().is_absolute()); pinboard->remove(*ref); } - extents_index.erase(*ref); + if (ref->is_linked_to_index()) { + extents_index.erase(*ref); + } } void Cache::commit_retire_extent( @@ -906,7 +910,9 @@ void Cache::commit_replace_extent( assert(next->get_paddr() == prev->get_paddr()); assert(next->get_paddr().is_absolute() || next->get_paddr().is_root()); assert(next->version == prev->version + 1); - extents_index.replace(*next, *prev); + if (booting) { + extents_index.replace(*next, *prev); + } const auto t_src = t.get_src(); if (is_root_type(prev->get_type())) {