From 378f4c73ba5bd87a54eb67a523bff98c5db6ff9e Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Sat, 27 Feb 2016 12:20:49 +0200 Subject: [PATCH] cls::journal: async client_unregister Signed-off-by: Mykola Golub --- src/cls/journal/cls_journal_client.cc | 14 ++++++++++---- src/cls/journal/cls_journal_client.h | 2 ++ 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 32959642eafe9..2566800611a64 100644 --- a/src/cls/journal/cls_journal_client.cc +++ b/src/cls/journal/cls_journal_client.cc @@ -291,11 +291,17 @@ void client_update(librados::ObjectWriteOperation *op, int client_unregister(librados::IoCtx &ioctx, const std::string &oid, const std::string &id) { - bufferlist inbl; - ::encode(id, inbl); + librados::ObjectWriteOperation op; + client_unregister(&op, id); + return ioctx.operate(oid, &op); +} - bufferlist outbl; - return ioctx.exec(oid, "journal", "client_unregister", inbl, outbl); +void client_unregister(librados::ObjectWriteOperation *op, + const std::string &id) { + + bufferlist bl; + ::encode(id, bl); + op->exec("journal", "client_unregister", bl); } void client_commit(librados::ObjectWriteOperation *op, const std::string &id, diff --git a/src/cls/journal/cls_journal_client.h b/src/cls/journal/cls_journal_client.h index 37b0143b2ee6d..9aa00af451403 100644 --- a/src/cls/journal/cls_journal_client.h +++ b/src/cls/journal/cls_journal_client.h @@ -52,6 +52,8 @@ void client_update(librados::ObjectWriteOperation *op, int client_unregister(librados::IoCtx &ioctx, const std::string &oid, const std::string &id); +void client_unregister(librados::ObjectWriteOperation *op, + const std::string &id); void client_commit(librados::ObjectWriteOperation *op, const std::string &id, const cls::journal::ObjectSetPosition &commit_position); -- 2.39.5