From a6022bece496a734a6f3dba71102b6a01b5bb0d3 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 22 Dec 2008 11:39:36 -0800 Subject: [PATCH] osd: only request replica backlogs one at a time when searching for lost objects --- src/osd/PG.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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; } -- 2.39.5