From: NitzanMordhai Date: Tue, 2 Aug 2022 08:02:26 +0000 (+0000) Subject: crimson/osd: Port rgw watcher list X-Git-Tag: v18.0.0~271^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c90fb38ff2d57f9352e070cc5b3ad64898b45fe7;p=ceph-ci.git crimson/osd: Port rgw watcher list Implemented function cls_cxx_list_watchers for crimson Signed-off-by: Nitzan Mordechai --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index ae3e61b3bc9..ece780bf51a 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -444,6 +444,17 @@ int cls_cxx_map_remove_key(cls_method_context_t hctx, const string &key) int cls_cxx_list_watchers(cls_method_context_t hctx, obj_list_watch_response_t *watchers) { + OSDOp op{CEPH_OSD_OP_LIST_WATCHERS}; + if (const auto ret = execute_osd_op(hctx, op); ret < 0) { + return ret; + } + + try { + auto iter = op.outdata.cbegin(); + decode(*watchers, iter); + } catch (buffer::error&) { + return -EIO; + } return 0; }