]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ECBackend: populate recovery_info
authorSage Weil <sage@redhat.com>
Tue, 4 Apr 2017 21:37:39 +0000 (17:37 -0400)
committerSage Weil <sage@redhat.com>
Fri, 5 May 2017 17:38:12 +0000 (13:38 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/ECBackend.cc

index 299734a2b8d4e026c224c9cc79f6aa96a93dcc95..8c810d7770930e82e3157a1db49d59d0d0c3d166 100644 (file)
@@ -707,6 +707,17 @@ void ECBackend::recover_object(
     h->ops.back().recovery_info.size = obc->obs.oi.size;
     h->ops.back().recovery_info.oi = obc->obs.oi;
   }
+  if (hoid.is_snap()) {
+    if (obc) {
+      assert(obc->ssc);
+      h->ops.back().recovery_info.ss = obc->ssc->snapset;
+    } else if (head) {
+      assert(head->ssc);
+      h->ops.back().recovery_info.ss = head->ssc->snapset;
+    } else {
+      assert(0 == "neither obc nor head set for a snap object");
+    }
+  }
   h->ops.back().recovery_progress.omap_complete = true;
   for (set<pg_shard_t>::const_iterator i =
         get_parent()->get_actingbackfill_shards().begin();