From 896dd081c3cc5c75a6af0be8e03126055515d02b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 8 Aug 2008 11:57:06 -0700 Subject: [PATCH] osd: only accept push if it is the specific object version we were missing --- src/osd/ReplicatedPG.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 7d98c4f612be1..d54927ec618ec 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1522,8 +1522,11 @@ void ReplicatedPG::sub_op_push(MOSDSubOp *op) pobject_t poid = op->get_poid(); eversion_t v = op->get_version(); - if (!is_missing_object(poid.oid)) { - dout(7) << "sub_op_push not missing " << poid << dendl; + // are we missing (this specific version)? + // (if version is wrong, it is either old (we don't want it) or + // newer (peering is buggy)) + if (!missing.is_missing(poid.oid, v)) { + dout(7) << "sub_op_push not missing " << poid << " v" << v << dendl; dout(15) << " but i AM missing " << missing.missing << dendl; return; } -- 2.39.5