Skip to content

Commit 56023c3

Browse files
committed
crimson/os/seastore: don't apply backref extents' alloc deltas to cache
Signed-off-by: Zhang Song <[email protected]>
1 parent 1a06854 commit 56023c3

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/crimson/os/seastore/cache.cc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2050,6 +2050,14 @@ Cache::replay_delta(
20502050
decode(alloc_delta, delta.bl);
20512051
backref_entry_refs_t backref_entries;
20522052
for (auto &alloc_blk : alloc_delta.alloc_blk_ranges) {
2053+
if (is_backref_node(alloc_blk.type)) {
2054+
// On startup, BackrefManager::scan_mapped_space() will scan all
2055+
// mappings and internal entries to rebuild the space management.
2056+
// It's unnecessary to apply the alloc deltas of backref extents
2057+
// to the cached backref entries and these deltas are only used
2058+
// to skip invalid deltas for RBM backends.
2059+
continue;
2060+
}
20532061
if (alloc_blk.paddr.is_record_relative()) {
20542062
alloc_blk.paddr = record_base.add_relative(alloc_blk.paddr);
20552063
} else {

0 commit comments

Comments
 (0)