ftrace: enable filtering only when a function is filtered on
authorSteven Rostedt <srostedt@redhat.com>
Sat, 14 Feb 2009 01:53:42 +0000 (20:53 -0500)
committerSteven Rostedt <srostedt@redhat.com>
Mon, 16 Feb 2009 22:03:49 +0000 (17:03 -0500)
commite68746a271eb3393a2183840be9e903caddf765b
tree106ea87792837ccee1476687d9f9a067f96488a9
parent64e7c440618998fd69eee6ab490b042d12248021
ftrace: enable filtering only when a function is filtered on

Impact: fix to prevent empty set_ftrace_filter and no ftrace output

The function filter is used to only trace a given set of functions.
The filter is enabled when a function name is echoed into the
set_ftrace_filter file. But if the name has a typo and the function
is not found, the filter is enabled, but no function is listed.

This makes a confusing situation where set_ftrace_filter is empty
but no functions ever get enabled for tracing.

For example:

 # cat /debug/tracing/set_ftrace_filter

  #### all functions enabled ####

 # echo bad_name > set_ftrace_filter
 # cat /debug/tracing/set_ftrace_filter

 # echo function > current_tracer
 # cat trace

  # tracer: nop
  #
  #           TASK-PID    CPU#    TIMESTAMP  FUNCTION
  #              | |       |          |         |

This patch changes that to only enable filtering if a function
is set to be filtered on. Now, the filter is not enabled if
a bad name is echoed into set_ftrace_filter.

Signed-off-by: Steven Rostedt <srostedt@redhat.com>
kernel/trace/ftrace.c