From: Xuehan Xu Date: Sun, 1 Nov 2020 10:46:16 +0000 (+0800) Subject: crimson/osd: make non-first push ops' version to be the version of the recovering... X-Git-Tag: v16.1.0~642^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F37943%2Fhead;p=ceph.git crimson/osd: make non-first push ops' version to be the version of the recovering object An object may take more than one push op to recover, those later push ops also need to set their version accordingly Signed-off-by: Xuehan Xu --- diff --git a/src/crimson/osd/replicated_recovery_backend.cc b/src/crimson/osd/replicated_recovery_backend.cc index 9e2707f72cc3..c6628ccb371d 100644 --- a/src/crimson/osd/replicated_recovery_backend.cc +++ b/src/crimson/osd/replicated_recovery_backend.cc @@ -401,8 +401,8 @@ seastar::future ReplicatedRecoveryBackend::build_push_op [this, &recovery_info, &progress, stat, pop] (auto& new_progress, auto& oi, auto& available, auto& v) { return [this, &recovery_info, &progress, &new_progress, &oi, pop, &v] { + v = recovery_info.version; if (progress.first) { - v = recovery_info.version; return backend->omap_get_header(coll, ghobject_t(recovery_info.soid)) .then([this, &recovery_info, pop](auto bl) { pop->omap_header.claim_append(bl);