dout(10) << "do_osd_op " << soid << " " << ops << dendl;
- for (vector<OSDOp>::iterator p = ops.begin(); p != ops.end(); ++p) {
+ for (vector<OSDOp>::iterator p = ops.begin(); p != ops.end(); ++p, ctx->current_osd_subop_num++) {
OSDOp& osd_op = *p;
ceph_osd_op& op = osd_op.op;
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<pg_log_entry_t> log;
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;