diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2012-01-31 13:44:28 -0800 |
---|---|---|
committer | Yehuda Sadeh <yehuda@hq.newdream.net> | 2012-01-31 13:44:28 -0800 |
commit | cbc3e5a193ab74f18deab61faa5fda8cee04c020 (patch) | |
tree | 743f4dc07efe91b215915dfca6bd33c4a28c3826 | |
parent | 4622556235afd86406bfc2ed60a7213e33eeb355 (diff) | |
download | ceph-cbc3e5a193ab74f18deab61faa5fda8cee04c020.tar.gz |
objecter: define op for object expiration
part of the new object expiration operation.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
-rw-r--r-- | src/osdc/Objecter.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osdc/Objecter.h b/src/osdc/Objecter.h index d8ebd8e07cb..f9dca059455 100644 --- a/src/osdc/Objecter.h +++ b/src/osdc/Objecter.h @@ -103,6 +103,13 @@ struct ObjectOperation { osd_op.indata.append(name); osd_op.indata.append(data); } + void add_expiration(int op, const bufferlist& data) { + OSDOp& osd_op = add_op(op); + osd_op.op.op = op; + osd_op.op.xattr.name_len = 0; + osd_op.op.xattr.value_len = data.length(); + osd_op.indata.append(data); + } void add_xattr_cmp(int op, const char *name, uint8_t cmp_op, uint8_t cmp_mode, const bufferlist& data) { OSDOp& osd_op = add_op(op); osd_op.op.op = op; @@ -322,6 +329,11 @@ struct ObjectOperation { ::encode(attrs, bl); add_xattr(CEPH_OSD_OP_RESETXATTRS, prefix, bl); } + void set_expiration(utime_t t) { + bufferlist bl; + ::encode(t, bl); + add_expiration(CEPH_OSD_OP_SET_EXPIRATION, bl); + } // trivialmap void tmap_update(bufferlist& bl) { |