From: Sage Weil Date: Wed, 4 Jan 2012 20:32:10 +0000 (-0800) Subject: osd: avoid querying missing set from (full) backfill target X-Git-Tag: v0.41~34^2^2~41 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3166b373b9966fcdf4753a25f4a2cef4b5dd3c63;p=ceph.git osd: avoid querying missing set from (full) backfill target 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 --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index d450e8279851..75f8ca73cfc2 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -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