From: Radoslaw Zarzynski Date: Wed, 20 May 2020 23:18:38 +0000 (+0200) Subject: crimson/osd: implement cls_current_subop_num of the objclass API. X-Git-Tag: v16.1.0~2285^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F35160%2Fhead;p=ceph.git crimson/osd: implement cls_current_subop_num of the objclass API. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index da57b9c8a5cc..013ef35743bd 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -380,7 +380,11 @@ uint64_t cls_current_version(cls_method_context_t hctx) int cls_current_subop_num(cls_method_context_t hctx) { - return 0; + auto* ox = reinterpret_cast(hctx); + // in contrast to classical OSD, crimson doesn't count OP_CALL and + // OP_STAT which seems fine regarding how the plugins we take care + // about use this part of API. + return ox->get_processed_rw_ops_num(); } uint64_t cls_get_features(cls_method_context_t hctx) diff --git a/src/crimson/osd/ops_executer.h b/src/crimson/osd/ops_executer.h index 2e9e74f4f743..3afe546feb92 100644 --- a/src/crimson/osd/ops_executer.h +++ b/src/crimson/osd/ops_executer.h @@ -186,6 +186,10 @@ public: const auto& get_message() const { return *msg; } + + size_t get_processed_rw_ops_num() const { + return num_read + num_write; + } }; template