From: Mykola Golub Date: Sat, 27 Feb 2016 10:20:49 +0000 (+0200) Subject: cls::journal: async client_unregister X-Git-Tag: v10.1.0~279^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=378f4c73ba5bd87a54eb67a523bff98c5db6ff9e;p=ceph.git cls::journal: async client_unregister Signed-off-by: Mykola Golub --- diff --git a/src/cls/journal/cls_journal_client.cc b/src/cls/journal/cls_journal_client.cc index 32959642eafe..2566800611a6 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 37b0143b2ee6..9aa00af45140 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);