From 6093f9182594cf862d764517147549d94d392b2d Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 21 Jan 2025 18:41:48 -0800 Subject: [PATCH] crimson/.../replicated_recovery_backend: take excl lock while pushes commit Fixes: https://tracker.ceph.com/issues/69412 Signed-off-by: Samuel Just --- src/crimson/osd/replicated_recovery_backend.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 85582e04033d..d9a4481200a2 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -905,6 +905,9 @@ ReplicatedRecoveryBackend::_handle_pull_response( if (complete) { pull_info.stat.num_objects_recovered++; + auto manager = pg.obc_loader.get_obc_manager( + recovery_waiter.obc); + manager.lock_excl_sync(); /* cannot already be locked */ co_await pg.get_recovery_handler()->on_local_recover( push_op.soid, get_recovering(push_op.soid).pull_info->recovery_info, false, t -- 2.47.3