perf data: Move size to struct perf_data_file
authorJiri Olsa <jolsa@kernel.org>
Thu, 21 Feb 2019 09:41:29 +0000 (10:41 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 22 Feb 2019 19:52:07 +0000 (16:52 -0300)
We are about to add support for multiple files, so we need each file to
keep its size.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/20190221094145.9151-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c
tools/perf/util/data.c
tools/perf/util/data.h

index 6c3719ac901d7efddcd0e5d66fd3e82c464ec579..e5e9900c9039c3599a055fbc18c6987a0fd0e7c0 100644 (file)
@@ -660,10 +660,9 @@ static int process_sample_event(struct perf_tool *tool,
 
 static int process_buildids(struct record *rec)
 {
-       struct perf_data *data = &rec->data;
        struct perf_session *session = rec->session;
 
-       if (data->size == 0)
+       if (perf_data__size(&rec->data) == 0)
                return 0;
 
        /*
@@ -851,7 +850,7 @@ record__finish_output(struct record *rec)
                return;
 
        rec->session->header.data_size += rec->bytes_written;
-       data->size = lseek(perf_data__fd(data), 0, SEEK_CUR);
+       data->file.size = lseek(perf_data__fd(data), 0, SEEK_CUR);
 
        if (!rec->no_buildid) {
                process_buildids(rec);
index d8cfc19ddb1051e69b217801121f127c0b000bfc..09eceda17fc29f27c0c092dea11af979641b02d9 100644 (file)
@@ -82,7 +82,7 @@ static int open_file_read(struct perf_data *data)
                goto out_close;
        }
 
-       data->size = st.st_size;
+       data->file.size = st.st_size;
        return fd;
 
  out_close:
index 4828f7feea8949eb0e9a7d0464fad3997519c170..85f9c0dbf9826b5e9d1ad984bf5c73ecb13c3919 100644 (file)
@@ -12,13 +12,13 @@ enum perf_data_mode {
 struct perf_data_file {
        const char      *path;
        int              fd;
+       unsigned long    size;
 };
 
 struct perf_data {
        struct perf_data_file    file;
        bool                     is_pipe;
        bool                     force;
-       unsigned long            size;
        enum perf_data_mode      mode;
 };
 
@@ -44,7 +44,7 @@ static inline int perf_data__fd(struct perf_data *data)
 
 static inline unsigned long perf_data__size(struct perf_data *data)
 {
-       return data->size;
+       return data->file.size;
 }
 
 int perf_data__open(struct perf_data *data);