]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: make non-first push ops' version to be the version of the recovering...
authorXuehan Xu <xxhdx1985126@gmail.com>
Sun, 1 Nov 2020 10:46:16 +0000 (18:46 +0800)
committerXuehan Xu <xxhdx1985126@gmail.com>
Tue, 10 Nov 2020 07:20:48 +0000 (15:20 +0800)
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 <xxhdx1985126@gmail.com>
src/crimson/osd/replicated_recovery_backend.cc

index 9e2707f72cc3b7b7648b0d14b9581c5564513f53..c6628ccb371d0741ef4f5c3205cf1153f794cc3b 100644 (file)
@@ -401,8 +401,8 @@ seastar::future<ObjectRecoveryProgress> 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);