diff options
Diffstat (limited to 'tools/perf/builtin-inject.c')
| -rw-r--r-- | tools/perf/builtin-inject.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c index 3f4e4dd5abf3..10bb1d494258 100644 --- a/tools/perf/builtin-inject.c +++ b/tools/perf/builtin-inject.c @@ -215,14 +215,14 @@ static int perf_event__repipe_event_update(struct perf_tool *tool,  #ifdef HAVE_AUXTRACE_SUPPORT -static int copy_bytes(struct perf_inject *inject, int fd, off_t size) +static int copy_bytes(struct perf_inject *inject, struct perf_data *data, off_t size)  {  	char buf[4096];  	ssize_t ssz;  	int ret;  	while (size > 0) { -		ssz = read(fd, buf, min(size, (off_t)sizeof(buf))); +		ssz = perf_data__read(data, buf, min(size, (off_t)sizeof(buf)));  		if (ssz < 0)  			return -errno;  		ret = output_bytes(inject, buf, ssz); @@ -260,7 +260,7 @@ static s64 perf_event__repipe_auxtrace(struct perf_session *session,  		ret = output_bytes(inject, event, event->header.size);  		if (ret < 0)  			return ret; -		ret = copy_bytes(inject, perf_data__fd(session->data), +		ret = copy_bytes(inject, session->data,  				 event->auxtrace.size);  	} else {  		ret = output_bytes(inject, event, @@ -538,6 +538,7 @@ static int perf_event__repipe_buildid_mmap2(struct perf_tool *tool,  			dso->hit = 1;  		}  		dso__put(dso); +		perf_event__repipe(tool, event, sample, machine);  		return 0;  	}  |