]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/cls/journal/cls_journal_client.cc
import 15.2.0 Octopus source
[ceph.git] / ceph / src / cls / journal / cls_journal_client.cc
index c22a32cf3a32dba37fe0a8ca6e549a9ef8103f7f..88f7ddb1f91a65531b3252772586551a3652ac23 100644 (file)
@@ -50,7 +50,7 @@ struct C_ClientList : public C_AioExec {
 
     outbl.clear();
     librados::AioCompletion *rados_completion =
-       librados::Rados::aio_create_completion(this, rados_callback, NULL);
+       librados::Rados::aio_create_completion(this, rados_callback);
     int r = ioctx.aio_operate(oid, rados_completion, &op, &outbl);
     ceph_assert(r == 0);
     rados_completion->release();
@@ -111,7 +111,7 @@ struct C_ImmutableMetadata : public C_AioExec {
     op.exec("journal", "get_pool_id", inbl);
 
     librados::AioCompletion *rados_completion =
-      librados::Rados::aio_create_completion(this, rados_callback, NULL);
+      librados::Rados::aio_create_completion(this, rados_callback);
     int r = ioctx.aio_operate(oid, rados_completion, &op, &outbl);
     ceph_assert(r == 0);
     rados_completion->release();
@@ -151,7 +151,7 @@ struct C_MutableMetadata : public C_AioExec {
     op.exec("journal", "get_active_set", inbl);
 
     librados::AioCompletion *rados_completion =
-      librados::Rados::aio_create_completion(this, rados_callback, NULL);
+      librados::Rados::aio_create_completion(this, rados_callback);
     int r = ioctx.aio_operate(oid, rados_completion, &op, &outbl);
     ceph_assert(r == 0);
     rados_completion->release();
@@ -493,6 +493,15 @@ void guard_append(librados::ObjectWriteOperation *op, uint64_t soft_max_size) {
   op->exec("journal", "guard_append", bl);
 }
 
+void append(librados::ObjectWriteOperation *op, uint64_t soft_max_size,
+            bufferlist &data) {
+  bufferlist bl;
+  encode(soft_max_size, bl);
+  encode(data, bl);
+
+  op->exec("journal", "append", bl);
+}
+
 } // namespace client
 } // namespace journal
 } // namespace cls