lkml.org 
[lkml]   [2018]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.9 044/219] perf probe: Return errno when not hitting any event
    Date
    From: Kefeng Wang <wangkefeng.wang@huawei.com>

    [ Upstream commit 70946723eeb859466f026274b29c6196e39149c4 ]

    On old perf, when using 'perf probe -d' to delete an inexistent event,
    it returns errno, eg,

    -bash-4.3# perf probe -d xxx || echo $?
    Info: Event "*:xxx" does not exist.
    Error: Failed to delete events.
    255

    But now perf_del_probe_events() will always set ret = 0, different from
    previous del_perf_probe_events(). After this, it returns errno again,
    eg,

    -bash-4.3# ./perf probe -d xxx || echo $?
    "xxx" does not hit any event.
    Error: Failed to delete events.
    254

    And it is more appropriate to return -ENOENT instead of -EPERM.

    Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
    Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Hanjun Guo <guohanjun@huawei.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Fixes: dddc7ee32fa1 ("perf probe: Fix an error when deleting probes successfully")
    Link: http://lkml.kernel.org/r/1489738592-61011-1-git-send-email-wangkefeng.wang@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    tools/perf/builtin-probe.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
    index f87996b0cb29..9a250c71840e 100644
    --- a/tools/perf/builtin-probe.c
    +++ b/tools/perf/builtin-probe.c
    @@ -442,9 +442,9 @@ static int perf_del_probe_events(struct strfilter *filter)
    }

    if (ret == -ENOENT && ret2 == -ENOENT)
    - pr_debug("\"%s\" does not hit any event.\n", str);
    - /* Note that this is silently ignored */
    - ret = 0;
    + pr_warning("\"%s\" does not hit any event.\n", str);
    + else
    + ret = 0;

    error:
    if (kfd >= 0)
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-03 23:32    [W:4.186 / U:0.584 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site