X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fevent-rule%2Ftracepoint.c;h=62a53f9783de0626a150e13a9529120fa6fa02fe;hp=fbe1fc4bc8e1e7e62fc5534f40d18a47b5e1f61a;hb=2222db742ae4bde755b2327e46a99dd0bfaed411;hpb=1b859ae2e05b0d4e6714d487827b2e7ba24b2d76 diff --git a/src/common/event-rule/tracepoint.c b/src/common/event-rule/tracepoint.c index fbe1fc4bc..62a53f978 100644 --- a/src/common/event-rule/tracepoint.c +++ b/src/common/event-rule/tracepoint.c @@ -1117,6 +1117,27 @@ end: return valid; } +static bool domain_supports_log_levels(enum lttng_domain_type domain) +{ + bool supported; + + switch (domain) { + case LTTNG_DOMAIN_KERNEL: + supported = false; + break; + case LTTNG_DOMAIN_UST: + case LTTNG_DOMAIN_JUL: + case LTTNG_DOMAIN_LOG4J: + case LTTNG_DOMAIN_PYTHON: + supported = true; + break; + default: + abort(); + } + + return supported; +} + enum lttng_event_rule_status lttng_event_rule_tracepoint_set_log_level_rule( struct lttng_event_rule *rule, const struct lttng_log_level_rule *log_level_rule) @@ -1133,6 +1154,11 @@ enum lttng_event_rule_status lttng_event_rule_tracepoint_set_log_level_rule( tracepoint = container_of( rule, struct lttng_event_rule_tracepoint, parent); + if (!domain_supports_log_levels(tracepoint->domain)) { + status = LTTNG_EVENT_RULE_STATUS_UNSUPPORTED; + goto end; + } + if (!log_level_rule_valid(log_level_rule, tracepoint->domain)) { status = LTTNG_EVENT_RULE_STATUS_INVALID; goto end;