X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=ltt-probes.c;h=81dcbd715df08300b6bcfd9973418f853544e8d0;hb=f7bdf4db0b992946342dc845c7369e9cdca46559;hp=ab4b349ee2c47c9ec581a67aaf971c2695639a26;hpb=cbd4ecb28a17e4e8888affb573bd3f7a2cae874a;p=lttng-modules.git diff --git a/ltt-probes.c b/ltt-probes.c index ab4b349e..81dcbd71 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 @@ -24,8 +26,8 @@ const struct lttng_event_desc *find_event(const char *name) list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { - if (!strcmp(probe_desc->event_desc[i].name, name)) - return &probe_desc->event_desc[i]; + if (!strcmp(probe_desc->event_desc[i]->name, name)) + return probe_desc->event_desc[i]; } } return NULL; @@ -42,7 +44,7 @@ int ltt_probe_register(struct lttng_probe_desc *desc) * overhead becomes an issue. */ for (i = 0; i < desc->nr_events; i++) { - if (find_event(desc->event_desc[i].name)) { + if (find_event(desc->event_desc[i]->name)) { ret = -EEXIST; goto end; } @@ -94,7 +96,7 @@ void *tp_list_start(struct seq_file *m, loff_t *pos) list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (iter++ >= *pos) - return (void *) &probe_desc->event_desc[i]; + return (void *) probe_desc->event_desc[i]; } } /* End of list */ @@ -111,7 +113,7 @@ void *tp_list_next(struct seq_file *m, void *p, loff_t *ppos) list_for_each_entry(probe_desc, &probe_list, head) { for (i = 0; i < probe_desc->nr_events; i++) { if (iter++ >= *ppos) - return (void *) &probe_desc->event_desc[i]; + return (void *) probe_desc->event_desc[i]; } } /* End of list */ @@ -129,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; @@ -149,6 +156,7 @@ int lttng_tracepoint_list_open(struct inode *inode, struct file *file) } const struct file_operations lttng_tracepoint_list_fops = { + .owner = THIS_MODULE, .open = lttng_tracepoint_list_open, .read = seq_read, .llseek = seq_lseek,