@@ -4449,6 +4449,9 @@ static void write_guest_file(struct buffer_instance *instance)
if (tracecmd_write_cpu_data(handle, cpu_count, temp_files, NULL) < 0)
die("failed to write CPU data");
+ if (tracecmd_get_out_file_version(handle) >= FILE_VERSION_SECTIONS)
+ tracecmd_write_options(handle);
+
tracecmd_output_close(handle);
for (i = 0; i < cpu_count; i++)
@@ -4597,7 +4600,8 @@ static void record_data(struct common_record_context *ctx)
append_buffer(handle, instance, temp_files);
}
}
-
+ if (tracecmd_get_out_file_version(handle) >= FILE_VERSION_SECTIONS)
+ tracecmd_write_options(handle);
free(temp_files);
}
if (!handle)
In trace file version 7, the CPU trace metadata is saved in a trace option. As this metadata has file offsets, which depend on the CPU trace data, the option must be written in the file after the CPU trace data. Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@gmail.com> --- tracecmd/trace-record.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)