]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #3183 from ceph/wip-10262
authorSamuel Just <sam.just@inktank.com>
Mon, 22 Dec 2014 18:16:58 +0000 (10:16 -0800)
committerSamuel Just <sam.just@inktank.com>
Mon, 22 Dec 2014 18:16:58 +0000 (10:16 -0800)
osd: fix handling of create+delete transaction

Reviewed-by: Samuel Just <sjust@redhat.com>
1  2 
src/osd/ReplicatedPG.cc

index caeaaec1d2518a0b2def5c293182538c76563b3a,841b488dac24a9620b1bb582d8138262c22807fa..8e9db7e3f9ab69d6fd54caac548fe5f1a602109d
@@@ -5621,9 -5539,10 +5621,10 @@@ void ReplicatedPG::finish_ctx(OpContex
        }
        }
      } else if (ctx->new_snapset.clones.size() &&
-              !ctx->cache_evict) {
+              !ctx->cache_evict &&
+              (!ctx->snapset_obc || !ctx->snapset_obc->obs.exists)) {
        // save snapset on _snap
 -      hobject_t snapoid(soid.oid, soid.get_key(), CEPH_SNAPDIR, soid.hash,
 +      hobject_t snapoid(soid.oid, soid.get_key(), CEPH_SNAPDIR, soid.get_hash(),
                        info.pgid.pool(), soid.get_namespace());
        dout(10) << " final snapset " << ctx->new_snapset
               << " in " << snapoid << dendl;