From: Sage Weil Date: Tue, 20 Jul 2010 20:24:26 +0000 (-0700) Subject: osd: infer missing map is empty when last_complete==last_update X-Git-Tag: v0.21~79 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=9ddb6ab27d085c29f5877cc71aeed35c26e87355;p=ceph.git osd: infer missing map is empty when last_complete==last_update --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 0032c41afe160..16397ec5ce463 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1311,8 +1311,13 @@ void PG::peer(ObjectStore::Transaction& t, list& tfin, if (pi.is_empty()) continue; if (peer_missing.count(peer) == 0) { - dout(10) << " still need log+missing from osd" << peer << dendl; - have_all_missing = false; + if (pi.last_update == pi.last_complete) { + dout(10) << " infering no missing (last_update==last_complete) for osd" << peer << dendl; + peer_missing[peer].num_missing(); // just create the entry. + } else { + dout(10) << " still need log+missing from osd" << peer << dendl; + have_all_missing = false; + } } if (peer_log_requested.count(peer) || peer_summary_requested.count(peer)) continue;