The following series of patches is a refactoring of trace_record() trying to reduce as much as possible its complexity but, at the same time, without making risky changes. All the patches are relatively small and potentially no-brainer steps towards the final shape of the code.
The rationale for this effort is to make the code much easier to maintain. Vladislav Valtchev (VMware) (11): trace-cmd: Extract trace_stop() from trace_record() trace-cmd: Extract trace_restart() from trace_record() trace-cmd: Extract trace_reset() from trace_record() trace-cmd: Extract parse_record_options() from trace_record() trace-cmd: Rename trace_profile() to trace_profile_int() trace-cmd: Replacing cmd flags w/ a trace_cmd enum trace-cmd: Extracting record_trace() trace-cmd: Making start,extract,stream,profile separate funcs trace-cmd: Consolidate ARRAY_SIZE() in trace-cmd.h trace-cmd: Making the "die" functions noreturn trace-cmd: Introducing get_trace_cmd_type() plugin_blk.c | 1 - trace-cmd.c | 16 +- trace-cmd.h | 4 + trace-local.h | 22 +- trace-profile.c | 2 +- trace-read.c | 2 +- trace-record.c | 715 ++++++++++++++++++++++++++++++++------------------------ trace-util.c | 8 +- 8 files changed, 443 insertions(+), 327 deletions(-) -- 2.14.1