Changing the file output code to use the newly added perf_data_file__write interface.
No functional change intended. Signed-off-by: Jiri Olsa <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Mike Galbraith <[email protected]> Cc: Stephane Eranian <[email protected]> Cc: David Ahern <[email protected]> Cc: Adrian Hunter <[email protected]> --- tools/perf/builtin-record.c | 42 +++++++++++++----------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 65615a8..bc3c7be 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -76,42 +76,27 @@ struct perf_record { long samples; }; -static int do_write_output(struct perf_record *rec, void *buf, size_t size) +static ssize_t perf_record__write(struct perf_record *rec, + void *buf, size_t size) { - struct perf_data_file *file = &rec->file; - - while (size) { - ssize_t ret = write(file->fd, buf, size); - - if (ret < 0) { - pr_err("failed to write perf data, error: %m\n"); - return -1; - } - - size -= ret; - buf += ret; + struct perf_session *session = rec->session; + ssize_t ret; - rec->bytes_written += ret; - } + ret = perf_data_file__write(session->file, buf, size); + if (ret < 0) + return -1; + rec->bytes_written += ret; return 0; } -static int write_output(struct perf_record *rec, void *buf, size_t size) -{ - return do_write_output(rec, buf, size); -} - static int process_synthesized_event(struct perf_tool *tool, union perf_event *event, struct perf_sample *sample __maybe_unused, struct machine *machine __maybe_unused) { struct perf_record *rec = container_of(tool, struct perf_record, tool); - if (write_output(rec, event, event->header.size) < 0) - return -1; - - return 0; + return perf_record__write(rec, event, event->header.size); } static int perf_record__mmap_read(struct perf_record *rec, @@ -136,7 +121,7 @@ static int perf_record__mmap_read(struct perf_record *rec, size = md->mask + 1 - (old & md->mask); old += size; - if (write_output(rec, buf, size) < 0) { + if (perf_record__write(rec, buf, size) < 0) { rc = -1; goto out; } @@ -146,7 +131,7 @@ static int perf_record__mmap_read(struct perf_record *rec, size = head - old; old += size; - if (write_output(rec, buf, size) < 0) { + if (perf_record__write(rec, buf, size) < 0) { rc = -1; goto out; } @@ -322,8 +307,7 @@ static struct perf_event_header finished_round_event = { static int perf_record__mmap_read_all(struct perf_record *rec) { - int i; - int rc = 0; + int i, rc = 0; for (i = 0; i < rec->evlist->nr_mmaps; i++) { if (rec->evlist->mmap[i].base) { @@ -335,7 +319,7 @@ static int perf_record__mmap_read_all(struct perf_record *rec) } if (perf_header__has_feat(&rec->session->header, HEADER_TRACING_DATA)) - rc = write_output(rec, &finished_round_event, + rc = perf_record__write(rec, &finished_round_event, sizeof(finished_round_event)); out: -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

