perf record: Use perf_data_file__write for output file
authorJiri Olsa <jolsa@redhat.com>
Fri, 22 Nov 2013 12:11:24 +0000 (13:11 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 19 Dec 2013 17:22:44 +0000 (14:22 -0300)
Changing the file output code to use the newly
added perf_data_file__write interface.

No functional change intended.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c

index c1c1200d2f0a69555111aa9872c3d4be04d786dc..8eed3d752c80c55b79c8c5a47f059fa0074003a1 100644 (file)
@@ -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;
 }