Context *oncommit = new C_SafeCond(&mylock, &cond, &done, &r);
int op = o->ops[0].op.op;
- ldout(client->cct, 10) << ceph_osd_op_name(op) << " oid=" << oid << " nspace=" << oloc.nspace << dendl;
+ ldout(client->cct, 10) << ceph_osd_op_name(op) << " oid=" << oid
+ << " nspace=" << oloc.nspace << dendl;
Objecter::Op *objecter_op = objecter->prepare_mutate_op(oid, oloc,
*o, snapc, ut, flags,
NULL, oncommit, &ver);
c->io = this;
queue_aio_write(c);
- c->tid = objecter->mutate(oid, oloc, *o, snap_context, ut, flags, onack,
- oncommit, &c->objver);
+ Objecter::Op *op = objecter->prepare_mutate_op(
+ oid, oloc, *o, snap_context, ut, flags, onack,
+ oncommit, &c->objver);
+ objecter->op_submit(op, &c->tid);
return 0;
}
c->io = this;
c->blp = pbl;
- c->tid = objecter->read(oid, oloc,
- off, len, snapid, pbl, 0,
- onack, &c->objver);
+ Objecter::Op *o = objecter->prepare_read_op(
+ oid, oloc,
+ off, len, snapid, pbl, 0,
+ onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
c->bl.push_back(buffer::create_static(len, buf));
c->blp = &c->bl;
- c->tid = objecter->read(oid, oloc,
- off, len, snapid, &c->bl, 0,
- onack, &c->objver);
-
+ Objecter::Op *o = objecter->prepare_read_op(
+ oid, oloc,
+ off, len, snapid, &c->bl, 0,
+ onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
onack->m_ops.sparse_read(off, len, m, data_bl, NULL);
- c->tid = objecter->read(oid, oloc,
- onack->m_ops, snap_seq, NULL, 0,
- onack, &c->objver);
+ Objecter::Op *o = objecter->prepare_read_op(
+ oid, oloc,
+ onack->m_ops, snap_seq, NULL, 0,
+ onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
c->io = this;
queue_aio_write(c);
- c->tid = objecter->write(oid, oloc,
- off, len, snapc, bl, ut, 0,
- onack, onsafe, &c->objver);
+ Objecter::Op *o = objecter->prepare_write_op(
+ oid, oloc,
+ off, len, snapc, bl, ut, 0,
+ onack, onsafe, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
c->io = this;
queue_aio_write(c);
- c->tid = objecter->append(oid, oloc,
- len, snapc, bl, ut, 0,
- onack, onsafe, &c->objver);
+ Objecter::Op *o = objecter->prepare_append_op(
+ oid, oloc,
+ len, snapc, bl, ut, 0,
+ onack, onsafe, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
c->io = this;
queue_aio_write(c);
- c->tid = objecter->write_full(oid, oloc,
- snapc, bl, ut, 0,
- onack, onsafe, &c->objver);
+ Objecter::Op *o = objecter->prepare_write_full_op(
+ oid, oloc,
+ snapc, bl, ut, 0,
+ onack, onsafe, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
c->io = this;
queue_aio_write(c);
- c->tid = objecter->remove(oid, oloc,
- snapc, ut, 0,
- onack, onsafe, &c->objver);
+ Objecter::Op *o = objecter->prepare_remove_op(
+ oid, oloc,
+ snapc, ut, 0,
+ onack, onsafe, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
C_aio_stat_Ack *onack = new C_aio_stat_Ack(c, pmtime);
c->io = this;
- c->tid = objecter->stat(oid, oloc,
- snap_seq, psize, &onack->mtime, 0,
- onack, &c->objver);
+ Objecter::Op *o = objecter->prepare_stat_op(
+ oid, oloc,
+ snap_seq, psize, &onack->mtime, 0,
+ onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
C_aio_stat2_Ack *onack = new C_aio_stat2_Ack(c, pts);
c->io = this;
- c->tid = objecter->stat(oid, oloc,
- snap_seq, psize, &onack->mtime, 0,
- onack, &c->objver);
+ Objecter::Op *o = objecter->prepare_stat_op(
+ oid, oloc,
+ snap_seq, psize, &onack->mtime, 0,
+ onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}
::ObjectOperation rd;
rd.hit_set_ls(pls, NULL);
object_locator_t oloc(poolid);
- c->tid = objecter->pg_read(hash, oloc, rd, NULL, 0, onack, NULL, NULL);
+ Objecter::Op *o = objecter->prepare_pg_read_op(
+ hash, oloc, rd, NULL, 0, onack, NULL, NULL);
+ objecter->op_submit(o, &c->tid);
return 0;
}
::ObjectOperation rd;
rd.hit_set_get(ceph::real_clock::from_time_t(stamp), pbl, 0);
object_locator_t oloc(poolid);
- c->tid = objecter->pg_read(hash, oloc, rd, NULL, 0, onack, NULL, NULL);
+ Objecter::Op *o = objecter->prepare_pg_read_op(
+ hash, oloc, rd, NULL, 0, onack, NULL, NULL);
+ objecter->op_submit(o, &c->tid);
return 0;
}
::ObjectOperation op;
op.scrub_ls(start_after, max_to_get, objects, interval, nullptr);
object_locator_t oloc{poolid, pg.ps()};
- c->tid = objecter->pg_read(oloc.hash, oloc, op, nullptr, CEPH_OSD_FLAG_PGOP, onack,
- nullptr, nullptr);
+ Objecter::Op *o = objecter->prepare_pg_read_op(
+ oloc.hash, oloc, op, nullptr, CEPH_OSD_FLAG_PGOP, onack,
+ nullptr, nullptr);
+ objecter->op_submit(o, &c->tid);
return 0;
}
::ObjectOperation op;
op.scrub_ls(start_after, max_to_get, snapsets, interval, nullptr);
object_locator_t oloc{poolid, pg.ps()};
- c->tid = objecter->pg_read(oloc.hash, oloc, op, nullptr, CEPH_OSD_FLAG_PGOP, onack,
- nullptr, nullptr);
+ Objecter::Op *o = objecter->prepare_pg_read_op(
+ oloc.hash, oloc, op, nullptr, CEPH_OSD_FLAG_PGOP, onack,
+ nullptr, nullptr);
+ objecter->op_submit(o, &c->tid);
return 0;
}
::ObjectOperation rd;
prepare_assert_ops(&rd);
rd.call(cls, method, inbl);
- c->tid = objecter->read(oid, oloc, rd, snap_seq, outbl, 0, onack, &c->objver);
-
+ Objecter::Op *o = objecter->prepare_read_op(
+ oid, oloc, rd, snap_seq, outbl, 0, onack, &c->objver);
+ objecter->op_submit(o, &c->tid);
return 0;
}