perf data: Move size to struct perf_data_file
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>
This commit is contained in:
Родитель
c60f83b813
Коммит
45112e89a8
|
@ -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);
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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);
|
||||
|
|
Загрузка…
Ссылка в новой задаче