Fix: sessiond: no rotation performed from null chunk to new chunk
[lttng-tools.git] / src / bin / lttng-sessiond / event.c
index b0b37bed777a4eb5b537b0739c14115b5e3020a2..96b0d2e7a25555310e3fb567bd2096d3081674ee 100644 (file)
@@ -31,7 +31,8 @@
 #include "event.h"
 #include "kernel.h"
 #include "lttng-sessiond.h"
-#include "ust-ctl.h"
+#include "lttng-ust-ctl.h"
+#include "lttng-ust-error.h"
 #include "ust-app.h"
 #include "trace-kernel.h"
 #include "trace-ust.h"
@@ -69,7 +70,7 @@ static void add_unique_ust_event(struct lttng_ht *ht,
  * If event_name is NULL all events of the specified type are disabled.
  */
 int event_kernel_disable_event(struct ltt_kernel_channel *kchan,
-               char *event_name, enum lttng_event_type type)
+               const char *event_name, enum lttng_event_type type)
 {
        int ret, error = 0, found = 0;
        struct ltt_kernel_event *kevent;
@@ -172,7 +173,8 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess,
        rcu_read_lock();
 
        uevent = trace_ust_find_event(uchan->events, event->name, filter,
-                       event->loglevel_type, event->loglevel, exclusion);
+                       (enum lttng_ust_loglevel_type) event->loglevel_type,
+                       event->loglevel, exclusion);
        if (!uevent) {
                ret = trace_ust_create_event(event, filter_expression,
                                filter, exclusion, internal_event, &uevent);
@@ -190,6 +192,7 @@ int event_ust_enable_tracepoint(struct ltt_ust_session *usess,
 
        if (uevent->enabled) {
                /* It's already enabled so everything is OK */
+               assert(!to_create);
                ret = LTTNG_ERR_UST_EVENT_ENABLED;
                goto end;
        }
@@ -257,7 +260,7 @@ error:
  * Disable UST tracepoint of a channel from a UST session.
  */
 int event_ust_disable_tracepoint(struct ltt_ust_session *usess,
-               struct ltt_ust_channel *uchan, char *event_name)
+               struct ltt_ust_channel *uchan, const char *event_name)
 {
        int ret;
        struct ltt_ust_event *uevent;
@@ -509,10 +512,12 @@ int event_agent_enable(struct ltt_ust_session *usess,
                filter = NULL;
                filter_expression = NULL;
                created = 1;
+               assert(!aevent->enabled);
        }
 
-       if (created && filter) {
-               ret = add_filter_app_ctx(filter, filter_expression, agt);
+       if (created && aevent->filter) {
+               ret = add_filter_app_ctx(
+                               aevent->filter, aevent->filter_expression, agt);
                if (ret != LTTNG_OK) {
                        goto error;
                }
@@ -670,7 +675,7 @@ error:
  * Return LTTNG_OK on success or else a LTTNG_ERR* code.
  */
 int event_agent_disable(struct ltt_ust_session *usess, struct agent *agt,
-               char *event_name)
+               const char *event_name)
 {
        int ret = LTTNG_OK;
        struct agent_event *aevent;
This page took 0.024728 seconds and 4 git commands to generate.