}
}
- OpContext *ctx = new OpContext(op, m->get_reqid(), m->ops,
- &obc->obs, obc->ssc,
- this);
+ OpContext *ctx = new OpContext(op, m->get_reqid(), m->ops, obc, this);
ctx->op_t = pgbackend->get_transaction();
- ctx->obc = obc;
if (!obc->obs.exists)
ctx->snapset_obc = get_object_context(obc->obs.oi.soid.get_snapdir(), false);
vector<OSDOp> ops;
ceph_tid_t rep_tid = osd->get_tid();
osd_reqid_t reqid(osd->get_cluster_msgr_name(), 0, rep_tid);
- OpContext *ctx = new OpContext(OpRequestRef(), reqid, ops,
- &obc->obs, obc->ssc, this);
+ OpContext *ctx = new OpContext(OpRequestRef(), reqid, ops, obc, this);
ctx->op_t = pgbackend->get_transaction();
ctx->mtime = ceph_clock_now(g_ceph_context);
- ctx->obc = obc;
RepGather *repop = new_repop(ctx, obc, rep_tid);
return repop;
}
vector<OSDOp> ops;
ceph_tid_t rep_tid = osd->get_tid();
osd_reqid_t reqid(osd->get_cluster_msgr_name(), 0, rep_tid);
- OpContext *ctx = new OpContext(OpRequestRef(), reqid, ops,
- &obc->obs, obc->ssc, this);
+ OpContext *ctx = new OpContext(OpRequestRef(), reqid, ops, obc, this);
ctx->op_t = pgbackend->get_transaction();
ctx->mtime = ceph_clock_now(cct);
ctx->at_version = get_next_version();
bool release_snapset_obc;
OpContext(OpRequestRef _op, osd_reqid_t _reqid, vector<OSDOp>& _ops,
- ObjectState *_obs, SnapSetContext *_ssc,
+ ObjectContextRef& obc,
ReplicatedPG *_pg) :
- op(_op), reqid(_reqid), ops(_ops), obs(_obs), snapset(0),
- new_obs(_obs->oi, _obs->exists),
+ op(_op), reqid(_reqid), ops(_ops),
+ obs(&obc->obs),
+ snapset(0),
+ new_obs(obs->oi, obs->exists),
modify(false), user_modify(false), undirty(false), cache_evict(false),
ignore_cache(false),
bytes_written(0), bytes_read(0), user_at_version(0),
current_osd_subop_num(0),
op_t(NULL),
+ obc(obc),
data_off(0), reply(NULL), pg(_pg),
num_read(0),
num_write(0),
lock_to_release(NONE),
on_finish(NULL),
release_snapset_obc(false) {
- if (_ssc) {
- new_snapset = _ssc->snapset;
- snapset = &_ssc->snapset;
+ if (obc->ssc) {
+ new_snapset = obc->ssc->snapset;
+ snapset = &obc->ssc->snapset;
}
}
void reset_obs(ObjectContextRef obc) {