From 90a2654ff5c9c60399a535e7efaf23302017ff39 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 12 Mar 2014 14:07:50 -0700 Subject: [PATCH] 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 --- src/osd/ReplicatedPG.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 1c9bf24db414..8a45177fd1d0 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) -- 2.47.3