From: Zhang Song Date: Mon, 18 Aug 2025 11:16:32 +0000 (+0800) Subject: crimson/os/seastore: don't apply backref extents' alloc deltas to cache X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=56023c346cbe6e212885b855e92ca5b5ae319916;p=ceph.git crimson/os/seastore: don't apply backref extents' alloc deltas to cache Signed-off-by: Zhang Song --- diff --git a/src/crimson/os/seastore/cache.cc b/src/crimson/os/seastore/cache.cc index 255dd9406be..522a59b62e7 100644 --- a/src/crimson/os/seastore/cache.cc +++ b/src/crimson/os/seastore/cache.cc @@ -2050,6 +2050,14 @@ Cache::replay_delta( decode(alloc_delta, delta.bl); backref_entry_refs_t backref_entries; for (auto &alloc_blk : alloc_delta.alloc_blk_ranges) { + if (is_backref_node(alloc_blk.type)) { + // On startup, BackrefManager::scan_mapped_space() will scan all + // mappings and internal entries to rebuild the space management. + // It's unnecessary to apply the alloc deltas of backref extents + // to the cached backref entries and these deltas are only used + // to skip invalid deltas for RBM backends. + continue; + } if (alloc_blk.paddr.is_record_relative()) { alloc_blk.paddr = record_base.add_relative(alloc_blk.paddr); } else {