]> 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)
committerJason Dillaman <dillaman@redhat.com>
Tue, 11 Oct 2016 16:40:29 +0000 (12:40 -0400)
Signed-off-by: Mykola Golub <mgolub@mirantis.com>
(cherry picked from commit 58b8c66d5bfa60e6dd3ad2ec79360c2eca165c58)

src/cls/journal/cls_journal_client.cc
src/cls/journal/cls_journal_client.h

index 50549dc4061db71fe92894423a606dccee7e361f..be605279fbade479167d334775c14bb7477ca8ca 100644 (file)
@@ -289,13 +289,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 94ba4b2600b8c05586ad88b86adc1efca4a115c8..e854395ea71c54f8da85883c10c22eb592ea0f16 100644 (file)
@@ -51,6 +51,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);