From: Sage Weil Date: Tue, 29 Mar 2011 18:22:57 +0000 (-0700) Subject: objecter: add create to ObjectOperation, known strings X-Git-Tag: v0.27~228 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8ceadb8b3b569549334f9eeb211aaf8f7f24c24;p=ceph.git objecter: add create to ObjectOperation, known strings Signed-off-by: Sage Weil --- diff --git a/src/include/ceph_strings.cc b/src/include/ceph_strings.cc index 62b0866e21c9..f5fe1257b1eb 100644 --- a/src/include/ceph_strings.cc +++ b/src/include/ceph_strings.cc @@ -27,6 +27,7 @@ const char *ceph_osd_op_name(int op) 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"; diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index 48cf6e539f0d..020edbaf17cb 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -51,10 +51,11 @@ struct ObjectOperation { 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(); @@ -125,6 +126,11 @@ struct ObjectOperation { 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;