]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/cached_extent: renew mutation_pending extents' 69279/head
authorXuehan Xu <xuxuehan@qianxin.com>
Tue, 26 May 2026 04:36:03 +0000 (12:36 +0800)
committerXuehan Xu <xuxuehan@qianxin.com>
Tue, 26 May 2026 05:42:22 +0000 (13:42 +0800)
last_committed_crc when committing rewrite transactions

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

index 18af8083d33a9791e2164ccece3542393a8ce3a8..85480f470ee71c48e936453047a6465ba49d734e 100644 (file)
@@ -458,6 +458,10 @@ void ExtentCommitter::_share_prior_data_to_mutations() {
           }
         }
       });
+      // "me" is the actual prev of mextent, so before mextent enters
+      // the "prepare" pipeline phase, its last_committed_crc should be
+      // that of "me"'s
+      mextent.set_last_committed_crc(me.get_last_committed_crc());
     } else {
       auto &mextent = static_cast<CachedExtent&>(mext);
       TRACE("{} -> {}", extent, mextent);
@@ -465,6 +469,7 @@ void ExtentCommitter::_share_prior_data_to_mutations() {
         0, extent.get_length(), mextent.get_bptr().c_str());
       mextent.on_data_commit();
       mextent.reapply_delta();
+      mextent.set_last_committed_crc(extent.get_last_committed_crc());
     }
   }
 }