From 50a9b8680613a2708ca882d982dcfa4fd9a66673 Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Fri, 22 Nov 2013 13:11:24 +0100 Subject: [PATCH] perf record: Use perf_data_file__write for output file Changing the file output code to use the newly added perf_data_file__write interface. No functional change intended. Signed-off-by: Jiri Olsa Cc: Ingo Molnar Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Namhyung Kim Cc: Mike Galbraith Cc: David Ahern Cc: Adrian Hunter Cc: Arnaldo Carvalho de Melo --- tools/perf/builtin-record.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index c1c1200d2f0a..8eed3d752c80 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -76,24 +76,19 @@ struct perf_record { long samples; }; -static int perf_record__write(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) { + pr_err("failed to write perf data, error: %m\n"); + return -1; } + rec->bytes_written += ret; return 0; } -- GitLab