Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1593130 > unrolled thread
| Started by | Kefeng Wang <wangkefeng.wang@huawei.com> |
|---|---|
| First post | 2017-03-06 10:50 +0100 |
| Last post | 2017-03-07 08:40 +0100 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
[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
| From | Kefeng Wang <wangkefeng.wang@huawei.com> |
|---|---|
| Date | 2017-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]
| From | Kefeng Wang <wangkefeng.wang@huawei.com> |
|---|---|
| Date | 2017-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