Depending of the kernel configuration, some ftrace files are optional and may not exist. This should not confuse trace-cmd, as it is a valid case. One such case is tracing_max_latency file, when CONFIG_TRACER_MAX_TRACE or CONFIG_HWLAT_TRACER are not set. A check is added in write_instance_file() to ensure the file exist before trying to write in it. https://bugzilla.kernel.org/show_bug.cgi?id=205241 Reported-by: Valentin Schneider <valentin.schneider@xxxxxxx> Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- tracecmd/trace-record.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index 81aca1f..c65731f 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -813,11 +813,14 @@ static int write_instance_file(struct buffer_instance *instance, const char *file, const char *str, const char *type) { + struct stat st; char *path; int ret; path = get_instance_file(instance, file); - ret = write_file(path, str, type); + ret = stat(path, &st); + if (ret == 0) + ret = write_file(path, str, type); tracecmd_put_tracing_file(path); return ret; -- 2.21.0
![]() |