lkml.org 
[lkml]   [2014]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/37] perf tools: Use perf_data_file__fd() consistently
    Date
    Do not reference file->fd directly since we want hide the
    implementation details from outside to support multi-file store.

    Signed-off-by: Namhyung Kim <namhyung@kernel.org>
    ---
    tools/perf/builtin-inject.c | 9 ++++++---
    tools/perf/builtin-record.c | 14 ++++++++------
    2 files changed, 14 insertions(+), 9 deletions(-)

    diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
    index 84df2deed988..d8b13407594d 100644
    --- a/tools/perf/builtin-inject.c
    +++ b/tools/perf/builtin-inject.c
    @@ -375,8 +375,10 @@ static int __cmd_inject(struct perf_inject *inject)
    }
    }

    - if (!file_out->is_pipe)
    - lseek(file_out->fd, session->header.data_offset, SEEK_SET);
    + if (!file_out->is_pipe) {
    + lseek(perf_data_file__fd(file_out), session->header.data_offset,
    + SEEK_SET);
    + }

    ret = perf_session__process_events(session, &inject->tool);

    @@ -385,7 +387,8 @@ static int __cmd_inject(struct perf_inject *inject)
    perf_header__set_feat(&session->header,
    HEADER_BUILD_ID);
    session->header.data_size = inject->bytes_written;
    - perf_session__write_header(session, session->evlist, file_out->fd, true);
    + perf_session__write_header(session, session->evlist,
    + perf_data_file__fd(file_out), true);
    }

    return ret;
    diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
    index aa5fa6aabb31..054c6e57d3b9 100644
    --- a/tools/perf/builtin-record.c
    +++ b/tools/perf/builtin-record.c
    @@ -196,7 +196,7 @@ static int process_buildids(struct record *rec)
    struct perf_session *session = rec->session;
    u64 start = session->header.data_offset;

    - u64 size = lseek(file->fd, 0, SEEK_CUR);
    + u64 size = lseek(perf_data_file__fd(file), 0, SEEK_CUR);
    if (size == 0)
    return 0;

    @@ -360,12 +360,12 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
    perf_header__clear_feat(&session->header, HEADER_GROUP_DESC);

    if (file->is_pipe) {
    - err = perf_header__write_pipe(file->fd);
    + err = perf_header__write_pipe(perf_data_file__fd(file));
    if (err < 0)
    goto out_child;
    } else {
    err = perf_session__write_header(session, rec->evlist,
    - file->fd, false);
    + perf_data_file__fd(file), false);
    if (err < 0)
    goto out_child;
    }
    @@ -397,8 +397,10 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
    * return this more properly and also
    * propagate errors that now are calling die()
    */
    - err = perf_event__synthesize_tracing_data(tool, file->fd, rec->evlist,
    - process_synthesized_event);
    + err = perf_event__synthesize_tracing_data(tool,
    + perf_data_file__fd(file),
    + rec->evlist,
    + process_synthesized_event);
    if (err <= 0) {
    pr_err("Couldn't record tracing data.\n");
    goto out_child;
    @@ -541,7 +543,7 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
    if (!rec->no_buildid)
    process_buildids(rec);
    perf_session__write_header(rec->session, rec->evlist,
    - file->fd, true);
    + perf_data_file__fd(&rec->file), true);
    }

    out_delete_session:
    --
    2.1.3


    \
     
     \ /
      Last update: 2014-12-24 08:41    [W:17.697 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site