]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cls/journal: add async client_update_state method
authorMykola Golub <mgolub@mirantis.com>
Wed, 27 Jul 2016 10:42:19 +0000 (13:42 +0300)
committerMykola Golub <mgolub@mirantis.com>
Mon, 5 Sep 2016 05:51:54 +0000 (08:51 +0300)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
src/cls/journal/cls_journal_client.cc
src/cls/journal/cls_journal_client.h

index 100a98d7d841e127f0030a868f5e327dc66712af..4ecaa879ed0a2a61577332e7ba6326079f77abb5 100644 (file)
@@ -296,13 +296,18 @@ void client_update_data(librados::ObjectWriteOperation *op,
 
 int client_update_state(librados::IoCtx &ioctx, const std::string &oid,
                         const std::string &id, cls::journal::ClientState state) {
+  librados::ObjectWriteOperation op;
+  client_update_state(&op, id, state);
+  return ioctx.operate(oid, &op);
+}
+
+void client_update_state(librados::ObjectWriteOperation *op,
+                         const std::string &id,
+                         cls::journal::ClientState state) {
   bufferlist bl;
   ::encode(id, bl);
   ::encode(static_cast<uint8_t>(state), bl);
-
-  librados::ObjectWriteOperation op;
-  op.exec("journal", "client_update_state", bl);
-  return ioctx.operate(oid, &op);
+  op->exec("journal", "client_update_state", bl);
 }
 
 int client_unregister(librados::IoCtx &ioctx, const std::string &oid,
index f4ff481a658beb5a7c2f779906770e1d8be05773..9d41d405e7ab2e69f035a627e986a9c69b4033c0 100644 (file)
@@ -53,6 +53,9 @@ void client_update_data(librados::ObjectWriteOperation *op,
                         const std::string &id, const bufferlist &data);
 int client_update_state(librados::IoCtx &ioctx, const std::string &oid,
                         const std::string &id, cls::journal::ClientState state);
+void client_update_state(librados::ObjectWriteOperation *op,
+                         const std::string &id,
+                         cls::journal::ClientState state);
 
 int client_unregister(librados::IoCtx &ioctx, const std::string &oid,
                       const std::string &id);