This can be utilized to determine when it's safe to enable new
cls features.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
return ctx->op->get_req()->get_connection()->get_features();
}
+int8_t cls_get_required_osd_release(cls_method_context_t hctx)
+{
+ PrimaryLogPG::OpContext *ctx = *(PrimaryLogPG::OpContext **)hctx;
+ return ctx->pg->get_osdmap()->require_osd_release;
+}
+
void cls_cxx_subop_version(cls_method_context_t hctx, string *s)
{
if (!s)
extern int cls_current_subop_num(cls_method_context_t hctx);
extern uint64_t cls_get_features(cls_method_context_t hctx);
extern uint64_t cls_get_client_features(cls_method_context_t hctx);
+extern int8_t cls_get_required_osd_release(cls_method_context_t hctx);
/* helpers */
extern void cls_cxx_subop_version(cls_method_context_t hctx, string *s);
librados::TestClassHandler *cls = get_class_handler();
return cls->create_filter(hclass, filter_name, fn);
}
+
+int8_t cls_get_required_osd_release(cls_handle_t hclass) {
+ return CEPH_FEATURE_SERVER_NAUTILUS;
+}