From 3aec576572066a4329488c0b4420fe863cbbeeb2 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Wed, 27 Jul 2016 13:42:19 +0300 Subject: [PATCH] cls/journal: add async client_update_state method Signed-off-by: Mykola Golub (cherry picked from commit 58b8c66d5bfa60e6dd3ad2ec79360c2eca165c58) --- src/cls/journal/cls_journal_client.cc | 13 +++++++++---- src/cls/journal/cls_journal_client.h | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/cls/journal/cls_journal_client.cc b/src/cls/journal/cls_journal_client.cc index 50549dc4061db..be605279fbade 100644 --- a/src/cls/journal/cls_journal_client.cc +++ b/src/cls/journal/cls_journal_client.cc @@ -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(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, diff --git a/src/cls/journal/cls_journal_client.h b/src/cls/journal/cls_journal_client.h index 94ba4b2600b8c..e854395ea71c5 100644 --- a/src/cls/journal/cls_journal_client.h +++ b/src/cls/journal/cls_journal_client.h @@ -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); -- 2.39.5