A new trace-cmd subcommand is introduced: trace-cmd convert -i <input file> -o <output file> The command converts trace file between different versions. There are two parameters for controlling the type of the output file: --file-version < 6 / 7> --compression < none / any / name of the desired compression algorithm > This patch-set depends on: "[PATCH v7 00/20] Trace file version 7 - compression" https://lore.kernel.org/linux-trace-devel/20220119082715.245846-1-tz.stoyanov@xxxxxxxxx/ v7 changes: - Bug fixes. - Code cleanups. - Rebase. v6 changes: - Rebased on top of the latest master. - Introduced new metadata strings section. - Use 8 bytes for section size. v5 changes: - Rebased on top of the latest master. v4 changes: - Rebased on top of the latest master. v3 changes: - Rebased on top of the latest master. v2 changes: - fixed issues of split and convert commands with some corner cases Tzvetomir Stoyanov (VMware) (9): trace-cmd library: Use output handler when copying data from input file trace-cmd library: Handle version 7 files when copying headers between files trace-cmd library: Copy CPU count between trace files trace-cmd library: New API to copy buffer description between trace files trace-cmd library: New API to copy options between trace files trace-cmd library: New API to copy trace data between trace files trace-cmd library: Avoid memory leak when setting trace clock trace-cmd library: Extend tracecmd_copy() API trace-cmd: Add new subcommand "convert" .../include/private/trace-cmd-private.h | 15 +- lib/trace-cmd/include/trace-cmd-local.h | 13 + lib/trace-cmd/trace-input.c | 698 +++++++++++++++--- lib/trace-cmd/trace-output.c | 125 +++- lib/trace-cmd/trace-util.c | 8 +- tracecmd/Makefile | 1 + tracecmd/include/trace-local.h | 2 + tracecmd/trace-cmd.c | 1 + tracecmd/trace-convert.c | 106 +++ tracecmd/trace-restore.c | 2 +- tracecmd/trace-split.c | 2 +- tracecmd/trace-usage.c | 13 + 12 files changed, 881 insertions(+), 105 deletions(-) create mode 100644 tracecmd/trace-convert.c -- 2.34.1