From 8645d6af75d508125e9d8810d35ac504d8a02bc8 Mon Sep 17 00:00:00 2001 From: Radoslaw Zarzynski Date: Tue, 23 Apr 2024 13:54:23 +0000 Subject: [PATCH] crimson/osd: on the cloning path bump obj version closer to its usage My understanding at the time of writing is this change is a pure refactoring. Signed-off-by: Radoslaw Zarzynski (cherry picked from commit 99fdc0cc478c169c30627d4436bb7aebd3335c8d) --- src/crimson/osd/ops_executer.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/crimson/osd/ops_executer.cc b/src/crimson/osd/ops_executer.cc index 238832443e4..6738b01f7ac 100644 --- a/src/crimson/osd/ops_executer.cc +++ b/src/crimson/osd/ops_executer.cc @@ -967,7 +967,6 @@ std::unique_ptr OpsExecuter::execute_clone( initial_obs.oi.mtime, // will be replaced in `apply_to()` 0 }; - osd_op_params->at_version.version++; encode(cloned_snaps, cloning_ctx->log_entry.snaps); return cloning_ctx; @@ -1049,6 +1048,8 @@ ObjectContextRef OpsExecuter::prepare_clone( clone_obs.oi.copy_user_bits(obc->obs.oi); clone_obs.oi.clear_flag(object_info_t::FLAG_WHITEOUT); + osd_op_params->at_version.version++; + auto [clone_obc, existed] = pg->obc_registry.get_cached_obc(std::move(coid)); ceph_assert(!existed); -- 2.39.5