X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=ltt-probes.c;h=45d2dabdef22e977fe8122deeb9a5417aa07fc21;hb=17baffe29814f2508556e498ab8c41a192e76b67;hp=e1ed2a3108d591a795f371affecbc1c7421294cb;hpb=271b66812595fb4be4ce1cb2b8277d97b13d795e;p=lttng-modules.git diff --git a/ltt-probes.c b/ltt-probes.c index e1ed2a31..45d2dabd 100644 --- a/ltt-probes.c +++ b/ltt-probes.c @@ -4,6 +4,8 @@ * Copyright 2010 (c) - Mathieu Desnoyers * * Holds LTTng probes registry. + * + * Dual LGPL v2.1/GPL v2 license. */ #include @@ -90,6 +92,7 @@ void *tp_list_start(struct seq_file *m, loff_t *pos) struct lttng_probe_desc *probe_desc; int iter = 0, i; + mutex_lock(&probe_mutex); list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (iter++ >= *pos) @@ -120,6 +123,7 @@ void *tp_list_next(struct seq_file *m, void *p, loff_t *ppos) static void tp_list_stop(struct seq_file *m, void *p) { + mutex_unlock(&probe_mutex); } static @@ -127,6 +131,11 @@ int tp_list_show(struct seq_file *m, void *p) { const struct lttng_event_desc *probe_desc = p; + /* + * Don't export lttng internal events (metadata). + */ + if (!strncmp(probe_desc->name, "lttng_", sizeof("lttng_") - 1)) + return 0; seq_printf(m, "event { name = %s; };\n", probe_desc->name); return 0; @@ -150,5 +159,5 @@ const struct file_operations lttng_tracepoint_list_fops = { .open = lttng_tracepoint_list_open, .read = seq_read, .llseek = seq_lseek, - .release = seq_release_private, + .release = seq_release, };