From: Yehuda Sadeh Date: Thu, 14 Mar 2013 17:28:54 +0000 (-0700) Subject: osd: keep track of current osd subop num X-Git-Tag: v0.67-rc1~128^2~184 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4feac81d8bc7ee307024e5824ef8854afc7d81e8;p=ceph.git osd: keep track of current osd subop num This can be used later to generate unique subop versions in compound write operations. Signed-off-by: Yehuda Sadeh --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 708e4153ca8..85b62662ac9 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -1944,7 +1944,7 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) dout(10) << "do_osd_op " << soid << " " << ops << dendl; - for (vector::iterator p = ops.begin(); p != ops.end(); ++p) { + for (vector::iterator p = ops.begin(); p != ops.end(); ++p, ctx->current_osd_subop_num++) { OSDOp& osd_op = *p; ceph_osd_op& op = osd_op.op; diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 644a277f0dc..f6fafcc6b56 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -291,6 +291,8 @@ public: eversion_t at_version; // pg's current version pointer eversion_t reply_version; // the version that we report the client (depends on the op) + int current_osd_subop_num; + ObjectStore::Transaction op_t, local_t; vector log; @@ -317,6 +319,7 @@ public: new_obs(_obs->oi, _obs->exists), modify(false), user_modify(false), bytes_written(0), bytes_read(0), + current_osd_subop_num(0), obc(0), clone_obc(0), snapset_obc(0), data_off(0), reply(NULL), pg(_pg) { if (_ssc) { new_snapset = _ssc->snapset;