Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1593130 > unrolled thread

[PATCH] perf probe: Return errno when does not hit any event

Started byKefeng Wang <wangkefeng.wang@huawei.com>
First post2017-03-06 10:50 +0100
Last post2017-03-07 08:40 +0100
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH] perf probe: Return errno when does not hit any event Kefeng Wang <wangkefeng.wang@huawei.com> - 2017-03-06 10:50 +0100
    Re: [PATCH] perf probe: Return errno when does not hit any event Kefeng Wang <wangkefeng.wang@huawei.com> - 2017-03-07 08:40 +0100

#1593130 — [PATCH] perf probe: Return errno when does not hit any event

FromKefeng Wang <wangkefeng.wang@huawei.com>
Date2017-03-06 10:50 +0100
Subject[PATCH] perf probe: Return errno when does not hit any event
Message-ID<thXrd-6fC-61@gated-at.bofh.it>
On old perf, when using perf probe -d to delete an inexistent event,
it return 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 return errno
again, eg,

-bash-4.3# ./perf probe -d xxx  || echo $?
  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>
---
 tools/perf/builtin-probe.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 1fcebc3..c46b41c 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -444,7 +444,8 @@ 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;
+	else
+		ret = 0;
 
 error:
 	if (kfd >= 0)
-- 
1.7.12.4

[toc] | [next] | [standalone]


#1593939

FromKefeng Wang <wangkefeng.wang@huawei.com>
Date2017-03-07 08:40 +0100
Message-ID<tihSV-49r-1@gated-at.bofh.it>
In reply to#1593130
+ Arnaldo Carvalho de Melo <acme@kernel.org>

On 2017/3/6 17:34, Kefeng Wang wrote:
> On old perf, when using perf probe -d to delete an inexistent event,
> it return 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 return errno
> again, eg,
> 
> -bash-4.3# ./perf probe -d xxx  || echo $?
>   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>
> ---
>  tools/perf/builtin-probe.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index 1fcebc3..c46b41c 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -444,7 +444,8 @@ 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;
> +	else
> +		ret = 0;
>  
>  error:
>  	if (kfd >= 0)
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web