X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ffilter.c;h=688dfca4a889cf95eecb7107053dcb9d28386c45;hp=e012cb8a1ded65a5958174355152d16af7c09774;hb=f3f0db50cf3fbc658bb4ffaf79a7fb694ab05e1d;hpb=53a80697a772bc2e260e3dff006f910be6709f04 diff --git a/src/bin/lttng-sessiond/filter.c b/src/bin/lttng-sessiond/filter.c index e012cb8a1..688dfca4a 100644 --- a/src/bin/lttng-sessiond/filter.c +++ b/src/bin/lttng-sessiond/filter.c @@ -46,6 +46,7 @@ static int add_ufilter_to_event(struct ltt_ust_session *usess, int domain, } /* Same layout. */ uevent->filter = (struct lttng_ust_filter_bytecode *) bytecode; + uevent->filter->seqnum = usess->filter_seq_num; switch (domain) { case LTTNG_DOMAIN_UST: @@ -54,6 +55,7 @@ static int add_ufilter_to_event(struct ltt_ust_session *usess, int domain, if (ret < 0) { goto error; } + usess->filter_seq_num++; break; default: ret = -ENOSYS; @@ -76,7 +78,7 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, struct lttng_filter_bytecode *bytecode, char *event_name, char *channel_name) { - int ret = LTTCOMM_OK, have_event = 0; + int ret = LTTNG_OK, have_event = 0; struct lttng_ht_iter iter; struct lttng_ht *chan_ht; struct ltt_ust_channel *uchan = NULL; @@ -96,7 +98,7 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, case LTTNG_DOMAIN_UST_PID_FOLLOW_CHILDREN: #endif default: - ret = LTTCOMM_UND; + ret = LTTNG_ERR_UND; goto error; } @@ -109,7 +111,7 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, if (strlen(channel_name) != 0) { uchan = trace_ust_find_channel_by_name(chan_ht, channel_name); if (uchan == NULL) { - ret = LTTCOMM_UST_CHAN_NOT_FOUND; + ret = LTTNG_ERR_UST_CHAN_NOT_FOUND; goto error; } } @@ -118,7 +120,7 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, if (uchan && have_event) { uevent = trace_ust_find_event_by_name(uchan->events, event_name); if (uevent == NULL) { - ret = LTTCOMM_UST_EVENT_NOT_FOUND; + ret = LTTNG_ERR_UST_EVENT_NOT_FOUND; goto error; } } @@ -130,7 +132,7 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, bytecode); } else if (uchan && !have_event) { /* Add filter to channel */ ERR("Cannot add filter to channel"); - ret = LTTCOMM_FATAL; /* not supported. */ + ret = LTTNG_ERR_FATAL; /* not supported. */ goto error; } else if (!uchan && have_event) { /* Add filter to event */ /* Add context to event without having the channel name */ @@ -146,30 +148,34 @@ int filter_ust_set(struct ltt_ust_session *usess, int domain, goto end; } } - ret = LTTCOMM_UST_EVENT_NOT_FOUND; + ret = LTTNG_ERR_UST_EVENT_NOT_FOUND; goto error; } else if (!uchan && !have_event) { /* Add filter all events, all channels */ ERR("Cannot add filter to channel"); - ret = LTTCOMM_FATAL; /* not supported. */ + ret = LTTNG_ERR_FATAL; /* not supported. */ goto error; } end: + /* Must handle both local internal error and UST code. */ switch (ret) { case -EEXIST: - ret = LTTCOMM_FILTER_EXIST; + case -LTTNG_UST_ERR_EXIST: + ret = LTTNG_ERR_FILTER_EXIST; break; case -ENOMEM: - ret = LTTCOMM_FATAL; + ret = LTTNG_ERR_FATAL; break; case -EINVAL: - ret = LTTCOMM_FILTER_INVAL; + case -LTTNG_UST_ERR_INVAL: + ret = LTTNG_ERR_FILTER_INVAL; break; case -ENOSYS: - ret = LTTCOMM_UNKNOWN_DOMAIN; + case -LTTNG_UST_ERR_NOSYS: + ret = LTTNG_ERR_UNKNOWN_DOMAIN; break; default: - ret = LTTCOMM_OK; + ret = LTTNG_OK; break; }