Skip to content

Commit 02c012d

Browse files
committed
crimson/os/seastore/cache: no need to add extents to Cache::extent_index
once SeaStore is fully booted Signed-off-by: Xuehan Xu <[email protected]>
1 parent 6692edf commit 02c012d

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/crimson/os/seastore/cache.cc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -742,7 +742,9 @@ void Cache::add_extent(CachedExtentRef ref)
742742
assert(ref->rewrite_generation == NULL_GENERATION);
743743
assert(ref->get_paddr().is_absolute() ||
744744
ref->get_paddr().is_root());
745-
extents_index.insert(*ref);
745+
if (booting) {
746+
extents_index.insert(*ref);
747+
}
746748
}
747749

748750
void Cache::mark_dirty(CachedExtentRef ref)
@@ -884,7 +886,9 @@ void Cache::remove_extent(
884886
assert(ref->get_paddr().is_absolute());
885887
pinboard->remove(*ref);
886888
}
887-
extents_index.erase(*ref);
889+
if (ref->is_linked_to_index()) {
890+
extents_index.erase(*ref);
891+
}
888892
}
889893

890894
void Cache::commit_retire_extent(
@@ -906,7 +910,9 @@ void Cache::commit_replace_extent(
906910
assert(next->get_paddr() == prev->get_paddr());
907911
assert(next->get_paddr().is_absolute() || next->get_paddr().is_root());
908912
assert(next->version == prev->version + 1);
909-
extents_index.replace(*next, *prev);
913+
if (booting) {
914+
extents_index.replace(*next, *prev);
915+
}
910916

911917
const auto t_src = t.get_src();
912918
if (is_root_type(prev->get_type())) {

0 commit comments

Comments
 (0)