]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::agent_work: skip if head is missing
authorSamuel Just <sam.just@inktank.com>
Fri, 11 Apr 2014 21:35:39 +0000 (14:35 -0700)
committerSamuel Just <sam.just@inktank.com>
Mon, 14 Apr 2014 23:55:16 +0000 (16:55 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index 710046110336e93c68861aad39cda01d28eb0901..e8b23fae785eb420d7d13cec28c1d51a7bf0e759 100644 (file)
@@ -10772,6 +10772,11 @@ void ReplicatedPG::agent_work(int start_max)
       osd->logger->inc(l_osd_agent_skip);
       continue;
     }
+    if (is_missing_object(p->get_head())) {
+      dout(20) << __func__ << " skip (missing head) " << *p << dendl;
+      osd->logger->inc(l_osd_agent_skip);
+      continue;
+    }
     ObjectContextRef obc = get_object_context(*p, false, NULL);
     if (!obc) {
       // we didn't flush; we may miss something here.