Commit 1106b699 authored by Jiri Olsa's avatar Jiri Olsa Committed by Steven Rostedt

tracing: Fix set_ftrace_filter probe function display

If one or more function probes (like traceon) are enabled,
and there's no other function filter, the first probe
func is skipped (which one depends on the position in the hash).

$ echo sys_open:traceon sys_close:traceon > ./set_ftrace_filter
$ cat set_ftrace_filter
#### all functions enabled ####
sys_close:traceon:unlimited
$

The reason was, that in the case of no other function filter,
the func_pos was not properly updated before calling t_hash_start.
Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
LKML-Reference: <1297874134-7008-1-git-send-email-jolsa@redhat.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 8df341cf
...@@ -1467,7 +1467,7 @@ t_next(struct seq_file *m, void *v, loff_t *pos) ...@@ -1467,7 +1467,7 @@ t_next(struct seq_file *m, void *v, loff_t *pos)
return t_hash_next(m, pos); return t_hash_next(m, pos);
(*pos)++; (*pos)++;
iter->pos = *pos; iter->pos = iter->func_pos = *pos;
if (iter->flags & FTRACE_ITER_PRINTALL) if (iter->flags & FTRACE_ITER_PRINTALL)
return t_hash_start(m, pos); return t_hash_start(m, pos);
...@@ -1502,7 +1502,6 @@ t_next(struct seq_file *m, void *v, loff_t *pos) ...@@ -1502,7 +1502,6 @@ t_next(struct seq_file *m, void *v, loff_t *pos)
if (!rec) if (!rec)
return t_hash_start(m, pos); return t_hash_start(m, pos);
iter->func_pos = *pos;
iter->func = rec; iter->func = rec;
return iter; return iter;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment