[PATCH v1 0/8] Correct inject's handling of pipe files on disk

From: Ian Rogers
Date: Thu Aug 29 2024 - 11:02:21 EST


Perf inject tried to repipe the header, but this isn't possible if the
input is a pipe and the output a file, as the attributes are events in
pipe mode. Add an ability to write the attributes after the data so
writing the header doesn't need a possibly too large or small region
reserved for the attributes. Add testing for the case of a pipe mode
file on disk, add checks that the perf file's header isn't obviously
corrupt by having the header, data or attribute sections overlap. Add
more comments.

Ian Rogers (8):
perf report: Name events in stats for pipe mode
perf session: Document struct and constify auxtrace
perf header: Add kerneldoc to perf_file_header
perf header: Fail read if header sections overlap
perf header: Allow attributes to be written after data
perf inject: Overhaul handling of pipe files
perf header: Remove repipe option
perf test: Additional pipe tests with pipe output written to a file

tools/perf/builtin-inject.c | 60 +++++------
tools/perf/builtin-report.c | 1 +
tools/perf/tests/shell/pipe_test.sh | 26 +++++
tools/perf/util/header.c | 151 +++++++++++++++++-----------
tools/perf/util/header.h | 21 +++-
tools/perf/util/session.c | 12 +--
tools/perf/util/session.h | 52 +++++++++-
7 files changed, 223 insertions(+), 100 deletions(-)

--
2.46.0.295.g3b9ea8a38a-goog