]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: avoid querying missing set from (full) backfill target
authorSage Weil <sage@newdream.net>
Wed, 4 Jan 2012 20:32:10 +0000 (12:32 -0800)
committerSage Weil <sage@newdream.net>
Wed, 4 Jan 2012 23:56:48 +0000 (15:56 -0800)
If we are doing a complete backfill, we don't care about missing; it will
clearly all be below last_backfill anwyay and get ignored.

Signed-off-by: Sage Weil <sage@newdream.net>
src/osd/PG.cc

index d450e82798512845814980324f4f7f6a011a2527..75f8ca73cfc2618cb88e8eb0156d2308c8052625 100644 (file)
@@ -4363,6 +4363,11 @@ PG::RecoveryState::GetMissing::GetMissing(my_context ctx)
       pg->peer_missing[*i];
       continue;
     }
+    if (pi.last_backfill == hobject_t()) {
+      dout(10) << " osd." << *i << " will fully backfill; can infer empty missing set" << dendl;
+      pg->peer_missing[*i];
+      continue;
+    }
 
     if (pi.last_update == pi.last_complete &&  // peer has no missing
        pi.last_update == pg->info.last_update) {  // peer is up to date