Signed-off-by: Sage Weil <sage@redhat.com>
return ctx->pg->get_osdmap()->get_up_osd_features();
}
+uint64_t cls_get_client_features(cls_method_context_t hctx)
+{
+ ReplicatedPG::OpContext *ctx = *(ReplicatedPG::OpContext **)hctx;
+ return ctx->op->get_req()->get_connection()->get_features();
+}
+
void cls_cxx_subop_version(cls_method_context_t hctx, string *s)
{
if (!s)
extern uint64_t cls_current_version(cls_method_context_t hctx);
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);
/* helpers */
extern void cls_cxx_subop_version(cls_method_context_t hctx, string *s);
return CEPH_FEATURES_SUPPORTED_DEFAULT;
}
+uint64_t cls_get_client_features(cls_method_context_t hctx) {
+ return CEPH_FEATURES_SUPPORTED_DEFAULT;
+}
+
int cls_log(int level, const char *format, ...) {
int size = 256;
va_list ap;