summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1b859ae)
Log levels are not supported for by tracepoints for the kernel domain.
Return `LTTNG_EVENT_RULE_STATUS_UNSUPPORTED` when setting a log level
rule on a kernel-domain tracepoint.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I73b6067ec0a11ae1f83098a6966dc956e1772224
+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)
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)
tracepoint = container_of(
rule, struct lttng_event_rule_tracepoint, parent);
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;
if (!log_level_rule_valid(log_level_rule, tracepoint->domain)) {
status = LTTNG_EVENT_RULE_STATUS_INVALID;
goto end;