* [PATCH v2 2/2] trace-cmd: Clear error log on reset subcommand
@ 2020-02-19 13:14 Tzvetomir Stoyanov (VMware)
2020-02-24 20:44 ` Steven Rostedt
0 siblings, 1 reply; 2+ messages in thread
From: Tzvetomir Stoyanov (VMware) @ 2020-02-19 13:14 UTC (permalink / raw)
To: rostedt; +Cc: linux-trace-devel
The "trace-cmd reset" command is supposed to set the ftrace state to default.
However, the ftrace error logs are not reseted.
A logic is added to delete the content of "error_log" file when "trace-cmd reset" is executed.
Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
---
tracecmd/trace-record.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c
index b6a412e..3e0d066 100644
--- a/tracecmd/trace-record.c
+++ b/tracecmd/trace-record.c
@@ -4638,6 +4638,25 @@ static void clear_triggers(void)
clear_instance_triggers(instance);
}
+static void clear_instance_error_log(struct buffer_instance *instance)
+{
+ char *file;
+
+ file = tracefs_instance_get_file(instance->tracefs, "error_log");
+ if (!file)
+ return;
+ write_file(file, " ");
+ tracefs_put_tracing_file(file);
+}
+
+static void clear_error_log(void)
+{
+ struct buffer_instance *instance;
+
+ for_all_instances(instance)
+ clear_instance_error_log(instance);
+}
+
static void clear_all_synth_events(void)
{
char sevent[BUFSIZ];
@@ -5382,6 +5401,7 @@ void trace_reset(int argc, char **argv)
clear_filters();
clear_triggers();
clear_all_synth_events();
+ clear_error_log();
/* set clock to "local" */
reset_clock();
reset_event_pid();
--
2.24.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2 2/2] trace-cmd: Clear error log on reset subcommand
2020-02-19 13:14 [PATCH v2 2/2] trace-cmd: Clear error log on reset subcommand Tzvetomir Stoyanov (VMware)
@ 2020-02-24 20:44 ` Steven Rostedt
0 siblings, 0 replies; 2+ messages in thread
From: Steven Rostedt @ 2020-02-24 20:44 UTC (permalink / raw)
To: Tzvetomir Stoyanov (VMware); +Cc: linux-trace-devel
On Wed, 19 Feb 2020 15:14:10 +0200
"Tzvetomir Stoyanov (VMware)" <tz.stoyanov@gmail.com> wrote:
> The "trace-cmd reset" command is supposed to set the ftrace state to default.
> However, the ftrace error logs are not reseted.
> A logic is added to delete the content of "error_log" file when "trace-cmd reset" is executed.
>
> Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com>
> ---
> tracecmd/trace-record.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c
> index b6a412e..3e0d066 100644
> --- a/tracecmd/trace-record.c
> +++ b/tracecmd/trace-record.c
> @@ -4638,6 +4638,25 @@ static void clear_triggers(void)
> clear_instance_triggers(instance);
> }
>
> +static void clear_instance_error_log(struct buffer_instance *instance)
> +{
> + char *file;
> +
> + file = tracefs_instance_get_file(instance->tracefs, "error_log");
> + if (!file)
> + return;
> + write_file(file, " ");
> + tracefs_put_tracing_file(file);
> +}
The error_log file is not guaranteed to exist. Please add a check for
existence via stat() (hmm, perhaps we should make a file_exists() helper
function). Otherwise I get this:
# trace-cmd reset
trace-cmd: No such file or directory
opening to '/debug/tracing/error_log'
> +
> +static void clear_error_log(void)
> +{
> + struct buffer_instance *instance;
> +
> + for_all_instances(instance)
> + clear_instance_error_log(instance);
> +}
> +
> static void clear_all_synth_events(void)
> {
> char sevent[BUFSIZ];
> @@ -5382,6 +5401,7 @@ void trace_reset(int argc, char **argv)
> clear_filters();
> clear_triggers();
> clear_all_synth_events();
> + clear_error_log();
> /* set clock to "local" */
> reset_clock();
> reset_event_pid();
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-02-24 20:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-19 13:14 [PATCH v2 2/2] trace-cmd: Clear error log on reset subcommand Tzvetomir Stoyanov (VMware)
2020-02-24 20:44 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).