Store exclusions to enablers
authorJP Ikaheimonen <jp_ikaheimonen@mentor.com>
Thu, 7 Nov 2013 10:22:33 +0000 (12:22 +0200)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 13 Nov 2013 20:20:50 +0000 (15:20 -0500)
Implement a function that adds exclusions to the list in the enabler.
Call this function in the enabler command handler when the
LTTNG_UST_EXCLUSION command is received.

Signed-off-by: JP Ikaheimonen <jp_ikaheimonen@mentor.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/lttng/ust-events.h
liblttng-ust/lttng-events.c
liblttng-ust/lttng-ust-abi.c

index db8b9dc14a7c112df7cd5805e70b92e9e2c84a69..5d4357084edc69d703fcda27619b6360ac9f361e 100644 (file)
@@ -549,6 +549,8 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler,
                struct lttng_ust_filter_bytecode_node *bytecode);
 int lttng_enabler_attach_context(struct lttng_enabler *enabler,
                struct lttng_ust_context *ctx);
+int lttng_enabler_attach_exclusion(struct lttng_enabler *enabler,
+               struct lttng_ust_excluder_node *excluder);
 
 int lttng_attach_context(struct lttng_ust_context *context_param,
                struct lttng_ctx **ctx, struct lttng_session *session);
index ad374f3bc521b93527eb9550fcca989917beb078..915cffb744613c2973e599bf8a617673ad732b97 100644 (file)
@@ -721,6 +721,15 @@ int lttng_enabler_attach_bytecode(struct lttng_enabler *enabler,
        return 0;
 }
 
+int lttng_enabler_attach_exclusion(struct lttng_enabler *enabler,
+               struct lttng_ust_excluder_node *excluder)
+{
+       excluder->enabler = enabler;
+       cds_list_add_tail(&excluder->node, &enabler->excluder_head);
+       lttng_session_lazy_sync_enablers(enabler->chan->session);
+       return 0;
+}
+
 int lttng_attach_context(struct lttng_ust_context *context_param,
                struct lttng_ctx **ctx, struct lttng_session *session)
 {
index a852aaef99752789ee66cb6a017485c8604e43b6..61245a88dfcc2cd18b2163e8016b199e6a26d2d5 100644 (file)
@@ -933,6 +933,8 @@ static const struct lttng_ust_objd_ops lttng_channel_ops = {
  *             Disable recording for this enabler
  *     LTTNG_UST_FILTER
  *             Attach a filter to an enabler.
+ *     LTTNG_UST_EXCLUSION
+ *             Attach exclusions to an enabler.
  */
 static
 long lttng_enabler_cmd(int objd, unsigned int cmd, unsigned long arg,
@@ -958,6 +960,11 @@ long lttng_enabler_cmd(int objd, unsigned int cmd, unsigned long arg,
                        return ret;
                return 0;
        }
+       case LTTNG_UST_EXCLUSION:
+       {
+               return lttng_enabler_attach_exclusion(enabler,
+                               (struct lttng_ust_excluder_node *) arg);
+       }
        default:
                return -EINVAL;
        }
This page took 0.042864 seconds and 4 git commands to generate.