From: Sage Weil Date: Mon, 22 Dec 2008 19:39:36 +0000 (-0800) Subject: osd: only request replica backlogs one at a time when searching for lost objects X-Git-Tag: v0.6~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a6022bece496a734a6f3dba71102b6a01b5bb0d3;p=ceph.git osd: only request replica backlogs one at a time when searching for lost objects --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 36ab5cf4d9665..2f53a292aec02 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -1179,7 +1179,6 @@ void PG::peer(ObjectStore::Transaction& t, // let's pull info+logs from _everyone_ (strays included, this // time) in search of missing objects. - bool waiting = false; for (map::iterator it = peer_info.begin(); it != peer_info.end(); it++) { @@ -1190,19 +1189,17 @@ void PG::peer(ObjectStore::Transaction& t, if (peer_summary_requested.count(peer)) { dout(10) << " already requested summary/backlog from osd" << peer << dendl; - waiting = true; continue; } dout(10) << " requesting summary/backlog from osd" << peer << dendl; query_map[peer][info.pgid] = Query(Query::BACKLOG, info.history); peer_summary_requested.insert(peer); - waiting = true; + return; } - if (!waiting) - dout(10) << (missing.num_missing() - missing_loc.size()) - << " objects are still lost, waiting+hoping for a notify from someone else!" << dendl; + dout(10) << (missing.num_missing() - missing_loc.size()) + << " objects are still lost, waiting+hoping for a notify from someone else!" << dendl; return; }