From: Samuel Just Date: Wed, 12 Mar 2014 21:07:50 +0000 (-0700) Subject: ReplicatedPG::already_(complete|ack) should skip temp object ops X-Git-Tag: v0.78~34^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=90a2654ff5c9c60399a535e7efaf23302017ff39;p=ceph.git ReplicatedPG::already_(complete|ack) should skip temp object ops We clearly won't get dup ops on these repops, and they don't have meaningful versions since they don't carry log entries. Fixes: #7682 Signed-off-by: Samuel Just --- diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 1c9bf24db41..8a45177fd1d 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -774,6 +774,9 @@ protected: for (xlist::iterator i = repop_queue.begin(); !i.end(); ++i) { + // skip copy from temp object ops + if ((*i)->v == eversion_t()) + continue; if ((*i)->v > v) break; if (!(*i)->all_committed) @@ -786,6 +789,9 @@ protected: for (xlist::iterator i = repop_queue.begin(); !i.end(); ++i) { + // skip copy from temp object ops + if ((*i)->v == eversion_t()) + continue; if ((*i)->v > v) break; if (!(*i)->all_applied)