case CEPH_OSD_OP_MASKTRUNC: return "masktrunc";
+ case CEPH_OSD_OP_CREATE: return "create";
case CEPH_OSD_OP_WRITE: return "write";
case CEPH_OSD_OP_DELETE: return "delete";
case CEPH_OSD_OP_TRUNCATE: return "truncate";
ObjectOperation() : flags(0), priority(0) {}
- void add_op(int op) {
+ OSDOp& add_op(int op) {
int s = ops.size();
ops.resize(s+1);
ops[s].op.op = op;
+ return ops[s];
}
void add_data(int op, uint64_t off, uint64_t len, bufferlist& bl) {
int s = ops.size();
flags |= CEPH_OSD_FLAG_PGOP;
}
+ void create(bool excl) {
+ OSDOp& o = add_op(CEPH_OSD_OP_CREATE);
+ o.op.flags = (excl ? CEPH_OSD_OP_FLAG_EXCL : 0);
+ }
+
// object data
void read(uint64_t off, uint64_t len) {
bufferlist bl;