The trace-cmd restore has been broken for some time. This series fixes it. Changes since v1: - Have tracecmd_read_headers() pass in the state to stop at. It can also be called multiple times and it will continue where it left off. - tracecmd_copy_headers() now takes a start and end state, to allow it to be called more than once (and uses tracecmd_read_headers() ability to be called more than once and restart where it left off) - tracecmd_get_file_state() returns an enum and not long. Steven Rostedt (VMware) (9): trace-cmd restore: Fix to add saved cmdlines after calling tracecmd_create_init_file_override() trace-cmd: Move tracecmd_write_cmdlines() out of tracecmd_append_cpu_data() trace-cmd: Move the output state updates into the functions that change the state trace-cmd: Move the input state updates into the functions that change the state trace-cmd input: Validate the input handle when copying from it trace-cmd: Have tracecmd_read_headers() specify the state to read up to trace-cmd: Have tracecmd_get_file_state() return the enum trace-cmd input: Add validation updates to the copy of a handle trace-cmd: Have tracecmd_copy_headers() have a start and stop state ---- lib/trace-cmd/include/private/trace-cmd-private.h | 13 +- lib/trace-cmd/trace-input.c | 229 +++++++++++++++++++--- lib/trace-cmd/trace-output.c | 113 +++++++---- tracecmd/trace-hist.c | 2 +- tracecmd/trace-mem.c | 2 +- tracecmd/trace-read.c | 2 +- tracecmd/trace-record.c | 3 + tracecmd/trace-restore.c | 4 +- tracecmd/trace-split.c | 4 + tracecmd/trace-stream.c | 2 +- 10 files changed, 292 insertions(+), 82 deletions(-)