X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fevent-rule%2Ftracepoint.c;h=58757bb24a4851cb9dd007b5fdcbce9a88ab9fea;hb=cade690d4a2d1c398be9a519295de5b959c3f8bc;hp=62a53f9783de0626a150e13a9529120fa6fa02fe;hpb=2222db742ae4bde755b2327e46a99dd0bfaed411;p=lttng-tools.git diff --git a/src/common/event-rule/tracepoint.c b/src/common/event-rule/tracepoint.c index 62a53f978..58757bb24 100644 --- a/src/common/event-rule/tracepoint.c +++ b/src/common/event-rule/tracepoint.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -97,7 +98,7 @@ static int lttng_event_rule_tracepoint_serialize( tracepoint = container_of( rule, struct lttng_event_rule_tracepoint, parent); - status = lttng_event_rule_tracepoint_get_exclusions_count(rule, &exclusion_count); + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule, &exclusion_count); assert(status == LTTNG_EVENT_RULE_STATUS_OK); pattern_len = strlen(tracepoint->pattern) + 1; @@ -113,7 +114,7 @@ static int lttng_event_rule_tracepoint_serialize( for (i = 0; i < exclusion_count; i++) { const char *exclusion; - status = lttng_event_rule_tracepoint_get_exclusion_at_index( + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( rule, i, &exclusion); assert(status == LTTNG_EVENT_RULE_STATUS_OK); @@ -162,7 +163,7 @@ static int lttng_event_rule_tracepoint_serialize( size_t len; const char *exclusion; - status = lttng_event_rule_tracepoint_get_exclusion_at_index( + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( rule, i, &exclusion); assert(status == LTTNG_EVENT_RULE_STATUS_OK); @@ -205,9 +206,9 @@ static bool lttng_event_rule_tracepoint_is_equal( a = container_of(_a, struct lttng_event_rule_tracepoint, parent); b = container_of(_b, struct lttng_event_rule_tracepoint, parent); - status = lttng_event_rule_tracepoint_get_exclusions_count(_a, &count_a); + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(_a, &count_a); assert(status == LTTNG_EVENT_RULE_STATUS_OK); - status = lttng_event_rule_tracepoint_get_exclusions_count(_b, &count_b); + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(_b, &count_b); assert(status == LTTNG_EVENT_RULE_STATUS_OK); /* Quick checks. */ @@ -247,10 +248,10 @@ static bool lttng_event_rule_tracepoint_is_equal( for (i = 0; i < count_a; i++) { const char *exclusion_a, *exclusion_b; - status = lttng_event_rule_tracepoint_get_exclusion_at_index( + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( _a, i, &exclusion_a); assert(status == LTTNG_EVENT_RULE_STATUS_OK); - status = lttng_event_rule_tracepoint_get_exclusion_at_index( + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( _b, i, &exclusion_b); assert(status == LTTNG_EVENT_RULE_STATUS_OK); if (strcmp(exclusion_a, exclusion_b)) { @@ -284,7 +285,7 @@ static int generate_agent_filter( assert(rule); assert(_agent_filter); - status = lttng_event_rule_tracepoint_get_pattern(rule, &pattern); + status = lttng_event_rule_tracepoint_get_name_pattern(rule, &pattern); if (status != LTTNG_EVENT_RULE_STATUS_OK) { ret = -1; goto end; @@ -525,7 +526,7 @@ lttng_event_rule_tracepoint_generate_exclusions( abort(); } - event_rule_status = lttng_event_rule_tracepoint_get_exclusions_count( + event_rule_status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count( rule, &nb_exclusions); assert(event_rule_status == LTTNG_EVENT_RULE_STATUS_OK); if (nb_exclusions == 0) { @@ -549,7 +550,7 @@ lttng_event_rule_tracepoint_generate_exclusions( const char *exclusion_str; event_rule_status = - lttng_event_rule_tracepoint_get_exclusion_at_index( + lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( rule, i, &exclusion_str); assert(event_rule_status == LTTNG_EVENT_RULE_STATUS_OK); @@ -597,14 +598,14 @@ static unsigned long lttng_event_rule_tracepoint_hash( hash ^= lttng_log_level_rule_hash(tp_rule->log_level_rule); } - status = lttng_event_rule_tracepoint_get_exclusions_count(rule, + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule, &exclusion_count); assert(status == LTTNG_EVENT_RULE_STATUS_OK); for (i = 0; i < exclusion_count; i++) { const char *exclusion; - status = lttng_event_rule_tracepoint_get_exclusion_at_index( + status = lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( rule, i, &exclusion); assert(status == LTTNG_EVENT_RULE_STATUS_OK); hash ^= hash_key_str(exclusion, lttng_ht_seed); @@ -726,7 +727,7 @@ struct lttng_event_rule *lttng_event_rule_tracepoint_create( destroy_lttng_exclusions_element); /* Default pattern is '*'. */ - status = lttng_event_rule_tracepoint_set_pattern(rule, "*"); + status = lttng_event_rule_tracepoint_set_name_pattern(rule, "*"); if (status != LTTNG_EVENT_RULE_STATUS_OK) { lttng_event_rule_destroy(rule); rule = NULL; @@ -882,7 +883,7 @@ skip_log_level_rule: goto end; } - status = lttng_event_rule_tracepoint_add_exclusion(rule, exclusion); + status = lttng_event_rule_tracepoint_add_name_pattern_exclusion(rule, exclusion); if (status != LTTNG_EVENT_RULE_STATUS_OK) { ERR("Failed to add event rule tracepoint exclusion \"%s\".", exclusion); @@ -894,7 +895,7 @@ skip_log_level_rule: offset += *exclusion_len; } - status = lttng_event_rule_tracepoint_set_pattern(rule, pattern); + status = lttng_event_rule_tracepoint_set_name_pattern(rule, pattern); if (status != LTTNG_EVENT_RULE_STATUS_OK) { ERR("Failed to set event rule tracepoint pattern."); ret = -1; @@ -931,7 +932,7 @@ end: return ret; } -enum lttng_event_rule_status lttng_event_rule_tracepoint_set_pattern( +enum lttng_event_rule_status lttng_event_rule_tracepoint_set_name_pattern( struct lttng_event_rule *rule, const char *pattern) { char *pattern_copy = NULL; @@ -952,6 +953,9 @@ enum lttng_event_rule_status lttng_event_rule_tracepoint_set_pattern( goto end; } + /* Normalize the pattern. */ + strutils_normalize_star_glob_pattern(pattern_copy); + free(tracepoint->pattern); tracepoint->pattern = pattern_copy; @@ -960,7 +964,7 @@ end: return status; } -enum lttng_event_rule_status lttng_event_rule_tracepoint_get_pattern( +enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern( const struct lttng_event_rule *rule, const char **pattern) { struct lttng_event_rule_tracepoint *tracepoint; @@ -1205,7 +1209,7 @@ end: return status; } -enum lttng_event_rule_status lttng_event_rule_tracepoint_add_exclusion( +enum lttng_event_rule_status lttng_event_rule_tracepoint_add_name_pattern_exclusion( struct lttng_event_rule *rule, const char *exclusion) { @@ -1268,7 +1272,7 @@ end: return status; } -enum lttng_event_rule_status lttng_event_rule_tracepoint_get_exclusions_count( +enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern_exclusion_count( const struct lttng_event_rule *rule, unsigned int *count) { struct lttng_event_rule_tracepoint *tracepoint; @@ -1286,7 +1290,7 @@ end: return status; } -enum lttng_event_rule_status lttng_event_rule_tracepoint_get_exclusion_at_index( +enum lttng_event_rule_status lttng_event_rule_tracepoint_get_name_pattern_exclusion_at_index( const struct lttng_event_rule *rule, unsigned int index, const char **exclusion) @@ -1302,7 +1306,7 @@ enum lttng_event_rule_status lttng_event_rule_tracepoint_get_exclusion_at_index( tracepoint = container_of( rule, struct lttng_event_rule_tracepoint, parent); - if (lttng_event_rule_tracepoint_get_exclusions_count(rule, &count) != + if (lttng_event_rule_tracepoint_get_name_pattern_exclusion_count(rule, &count) != LTTNG_EVENT_RULE_STATUS_OK) { goto end; }