case CEPH_OSD_OP_EXEC:
{
bufferlist bl;
- int r = osd->store->read(info.pgid.to_coll(), poid, p->offset, p->length, bl);
+ int r = osd->store->read(info.pgid.to_coll(), soid, p->offset, p->length, bl);
if (data.length() == 0)
data_off = p->offset;
}
tid_t exec(object_t oid, ceph_object_layout ol,
- __u64 data_off, size_t data_len, bufferlist &bl, int flags,
+ __u64 data_off, size_t data_len,
+ snapid_t snap, bufferlist &bl, int flags,
bufferlist *pbl, size_t out_len,
Context *onfinish) {
vector<ceph_osd_op> ops(1);
ops[0].op = CEPH_OSD_OP_EXEC;
ops[0].offset = data_off;
ops[0].length = data_len;
- ReadOp *rd = new ReadOp(oid, ol, ops, flags, onfinish);
+ ReadOp *rd = new ReadOp(oid, ol, ops, snap, flags, onfinish);
rd->bl = bl;
rd->pbl = pbl;
return read_submit(rd);
lock.Lock();
objecter->exec(oid, layout,
- data_off, data_len, bl, 0,
+ data_off, data_len, CEPH_NOSNAP, bl, 0,
&obl, out_len,
oncommit);
lock.Lock();
objecter->read(oid, layout,
- off, len, bl, 0,
+ off, len, CEPH_NOSNAP, bl, 0,
oncommit);
dout(0) << "after read call" << dendl;