diff options
author | Tom Zanussi <tom.zanussi@linux.intel.com> | 2015-12-10 12:50:49 -0600 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2016-03-08 11:19:35 -0500 |
commit | a88e1cfb1d3081ffb34864d9cf8a5c289630f48e (patch) | |
tree | c8b64b61980d5d52ce0d25b3d330cda332c74ec8 /kernel/trace/trace.h | |
parent | a5863dae84e2da83a1e5de485a7f150d0c28f08e (diff) | |
download | op-kernel-dev-a88e1cfb1d3081ffb34864d9cf8a5c289630f48e.zip op-kernel-dev-a88e1cfb1d3081ffb34864d9cf8a5c289630f48e.tar.gz |
tracing: Add an unreg_all() callback to trigger commands
Add a new unreg_all() callback that can be used to remove all
command-specific triggers from an event and arrange to have it called
whenever a trigger file is opened with O_TRUNC set.
Commands that don't want truncate semantics, or existing commands that
don't implement this function simply do nothing and their triggers
remain intact.
Link: http://lkml.kernel.org/r/2b7d62854d01f28c19185e1bbb8f826f385edfba.1449767187.git.tom.zanussi@linux.intel.com
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'kernel/trace/trace.h')
-rw-r--r-- | kernel/trace/trace.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 8c6aefb..f4dd0ad 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1298,8 +1298,8 @@ struct event_trigger_ops { * it (filters make a trigger require access to the trace record * but are not always present). * - * All the methods below, except for @set_filter(), must be - * implemented. + * All the methods below, except for @set_filter() and @unreg_all(), + * must be implemented. * * @func: The callback function responsible for parsing and * registering the trigger written to the 'trigger' file by the @@ -1324,6 +1324,10 @@ struct event_trigger_ops { * This is usually implemented by the generic utility function * @unregister_trigger() (see trace_event_triggers.c). * + * @unreg_all: An optional function called to remove all the triggers + * from the list of triggers associated with the event. Called + * when a trigger file is opened in truncate mode. + * * @set_filter: An optional function called to parse and set a filter * for the trigger. If no @set_filter() method is set for the * event command, filters set by the user for the command will be @@ -1350,6 +1354,7 @@ struct event_command { struct event_trigger_ops *ops, struct event_trigger_data *data, struct trace_event_file *file); + void (*unreg_all)(struct trace_event_file *file); int (*set_filter)(char *filter_str, struct event_trigger_data *data, struct trace_event_file *file); |