]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::already_(complete|ack) should skip temp object ops 1439/head
authorSamuel Just <sam.just@inktank.com>
Wed, 12 Mar 2014 21:07:50 +0000 (14:07 -0700)
committerSamuel Just <sam.just@inktank.com>
Wed, 12 Mar 2014 21:07:54 +0000 (14:07 -0700)
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 <sam.just@inktank.com>
src/osd/ReplicatedPG.h

index 1c9bf24db414c7b7243d7fc205ef11d3e370f517..8a45177fd1d0464fac38fc12d13a653c0bc63049 100644 (file)
@@ -774,6 +774,9 @@ protected:
     for (xlist<RepGather*>::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<RepGather*>::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)