lkml.org 
[lkml]   [2019]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/11] perf data: Make perf_data__size to work over directory
    Date
    Making perf_data__size to return proper size
    for directory data.

    Link: http://lkml.kernel.org/n/tip-t4dm8cctat2ginmy2bb08xe8@git.kernel.org
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    ---
    tools/perf/util/data.c | 17 +++++++++++++++++
    tools/perf/util/data.h | 6 +-----
    2 files changed, 18 insertions(+), 5 deletions(-)

    diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c
    index cf8f84fb6295..f581906c6856 100644
    --- a/tools/perf/util/data.c
    +++ b/tools/perf/util/data.c
    @@ -393,3 +393,20 @@ int perf_data__switch(struct perf_data *data,
    free(new_filepath);
    return ret;
    }
    +
    +unsigned long perf_data__size(struct perf_data *data)
    +{
    + u64 size = data->file.size;
    + int i;
    +
    + if (!data->is_dir)
    + return size;
    +
    + for (i = 0; i < data->dir.nr; i++) {
    + struct perf_data_file *file = &data->dir.files[i];
    +
    + size += file->size;
    + }
    +
    + return size;
    +}
    diff --git a/tools/perf/util/data.h b/tools/perf/util/data.h
    index 0deeb1af9f54..d342469bdfda 100644
    --- a/tools/perf/util/data.h
    +++ b/tools/perf/util/data.h
    @@ -54,11 +54,6 @@ static inline int perf_data__fd(struct perf_data *data)
    return data->file.fd;
    }

    -static inline unsigned long perf_data__size(struct perf_data *data)
    -{
    - return data->file.size;
    -}
    -
    int perf_data__open(struct perf_data *data);
    void perf_data__close(struct perf_data *data);
    ssize_t perf_data__write(struct perf_data *data,
    @@ -80,4 +75,5 @@ int perf_data__create_dir(struct perf_data *data, int nr);
    int perf_data__open_dir(struct perf_data *data);
    void perf_data__close_dir(struct perf_data *data);
    int perf_data__update_dir(struct perf_data *data);
    +unsigned long perf_data__size(struct perf_data *data);
    #endif /* __PERF_DATA_H */
    --
    2.17.2
    \
     
     \ /
      Last update: 2019-02-26 09:49    [W:5.074 / U:0.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site