From b4adc0f93fdfe849754fc0bcb1c680f62005be21 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 31 Jul 2008 11:26:20 -0700 Subject: [PATCH] osd: small cleanup --- src/osd/ReplicatedPG.cc | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index fd96397a17c..2a83cd74014 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1566,23 +1566,15 @@ void ReplicatedPG::sub_op_push(MOSDSubOp *op) - // am i primary? are others missing this too? if (is_primary()) { + // are others missing this too? for (unsigned i=1; itake_waiters(waiting_for_missing_object[poid.oid]); - waiting_for_missing_object.erase(poid.oid); - } - if (is_primary()) { // continue recovery if (info.is_uptodate()) uptodate_set.insert(osd->get_nodeid()); @@ -1594,6 +1586,12 @@ void ReplicatedPG::sub_op_push(MOSDSubOp *op) } delete op; + + // kick waiters + if (waiting_for_missing_object.count(poid.oid)) { + osd->take_waiters(waiting_for_missing_object[poid.oid]); + waiting_for_missing_object.erase(poid.oid); + } } -- 2.47.3