From: Sage Weil Date: Thu, 13 Aug 2009 22:12:08 +0000 (-0700) Subject: osd: reorder snapc setup and ORDERSNAP check X-Git-Tag: v0.13~60 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=772d49e744a55ffd3d3511cdee1842c6adabb350;p=ceph.git osd: reorder snapc setup and ORDERSNAP check --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a2ef2eb50455..37666c2043dc 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -514,7 +514,15 @@ void ReplicatedPG::do_op(MOSDOp *op) bool noop = false; if (op->may_write()) { - // verify snap ordering + // snap + if (op->get_snap_seq()) { + // client specified snapc + ctx->snapc.seq = op->get_snap_seq(); + ctx->snapc.snaps = op->get_snaps(); + } else { + // use pool's snapc + ctx->snapc = pool->snapc; + } if ((op->get_flags() & CEPH_OSD_FLAG_ORDERSNAP) && ctx->snapc.seq < obc->obs.ssc->snapset.seq) { dout(10) << " ORDERSNAP flag set and snapc seq " << ctx->snapc.seq @@ -537,16 +545,6 @@ void ReplicatedPG::do_op(MOSDOp *op) ctx->mtime = op->get_mtime(); - // snap - if (op->get_snap_seq()) { - // client specified snapc - ctx->snapc.seq = op->get_snap_seq(); - ctx->snapc.snaps = op->get_snaps(); - } else { - // use pool's snapc - ctx->snapc = pool->snapc; - } - // set version in op, for benefit of client and our eventual reply op->set_version(ctx->at_version);