]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
objecter: add create to ObjectOperation, known strings
authorSage Weil <sage.weil@dreamhost.com>
Tue, 29 Mar 2011 18:22:57 +0000 (11:22 -0700)
committerSage Weil <sage.weil@dreamhost.com>
Tue, 29 Mar 2011 19:11:11 +0000 (12:11 -0700)
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
src/include/ceph_strings.cc
src/osdc/Objecter.h

index 62b0866e21c9c1f2c72eed5018625c64173cf97e..f5fe1257b1eb8beeca80fc8a4e56bb83b67184ca 100644 (file)
@@ -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";
index 48cf6e539f0d5bd9b736af0cb2fb9f65b6d88f6e..020edbaf17cbb24f2f0462c55ad45ebeef616c08 100644 (file)
@@ -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;