Commit cb8e7a8d authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Steven Rostedt (VMware)

tracing/dynevent: Delete all matched events

When user gives an event name to delete, delete all
matched events instead of the first one.

This means if there are several events which have same
name but different group (subsystem) name, those are
removed if user passed only the event name, e.g.

  # cat kprobe_events
  p:group1/testevent _do_fork
  p:group2/testevent fork_idle
  # echo -:testevent >> kprobe_events
  # cat kprobe_events
  #

Link: http://lkml.kernel.org/r/156095684958.28024.16597826267117453638.stgit@devnote2Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 60d53e2c
...@@ -61,11 +61,13 @@ int dyn_event_release(int argc, char **argv, struct dyn_event_operations *type) ...@@ -61,11 +61,13 @@ int dyn_event_release(int argc, char **argv, struct dyn_event_operations *type)
for_each_dyn_event_safe(pos, n) { for_each_dyn_event_safe(pos, n) {
if (type && type != pos->ops) if (type && type != pos->ops)
continue; continue;
if (pos->ops->match(system, event, pos)) { if (!pos->ops->match(system, event, pos))
continue;
ret = pos->ops->free(pos); ret = pos->ops->free(pos);
if (ret)
break; break;
} }
}
mutex_unlock(&event_mutex); mutex_unlock(&event_mutex);
return ret; return ret;
......
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