From ac25cb19466fb358f0dc685be10a083c8cd3ea6d Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Wed, 31 Aug 2016 22:27:53 +0300 Subject: [PATCH] cls/journal: async client_list method Signed-off-by: Mykola Golub --- src/cls/journal/cls_journal_client.cc | 9 +++++++-- src/cls/journal/cls_journal_client.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cls/journal/cls_journal_client.cc b/src/cls/journal/cls_journal_client.cc index 4ecaa879ed0a2..89baab8c698c8 100644 --- a/src/cls/journal/cls_journal_client.cc +++ b/src/cls/journal/cls_journal_client.cc @@ -336,11 +336,16 @@ void client_commit(librados::ObjectWriteOperation *op, const std::string &id, int client_list(librados::IoCtx &ioctx, const std::string &oid, std::set *clients) { C_SaferCond cond; - C_ClientList *client_list = new C_ClientList(ioctx, oid, clients, &cond); - client_list->send(""); + client_list(ioctx, oid, clients, &cond); return cond.wait(); } +void client_list(librados::IoCtx &ioctx, const std::string &oid, + std::set *clients, Context *on_finish) { + C_ClientList *client_list = new C_ClientList(ioctx, oid, clients, on_finish); + client_list->send(""); +} + int get_next_tag_tid(librados::IoCtx &ioctx, const std::string &oid, uint64_t *tag_tid) { librados::ObjectReadOperation op; diff --git a/src/cls/journal/cls_journal_client.h b/src/cls/journal/cls_journal_client.h index 9d41d405e7ab2..477254f32687e 100644 --- a/src/cls/journal/cls_journal_client.h +++ b/src/cls/journal/cls_journal_client.h @@ -67,6 +67,8 @@ void client_commit(librados::ObjectWriteOperation *op, const std::string &id, int client_list(librados::IoCtx &ioctx, const std::string &oid, std::set *clients); +void client_list(librados::IoCtx &ioctx, const std::string &oid, + std::set *clients, Context *on_finish); // journal tag helpers int get_next_tag_tid(librados::IoCtx &ioctx, const std::string &oid, -- 2.39.5