2022-12-20 04:23:24

by Yang Jihong

[permalink] [raw]
Subject: [PATCH 3/3] perf probe: Check -v and -q options in the right place

Check the -q and -v options first to return earlier on error.

Before:
# perf probe -q -v test
probe-definition(0): test
symbol:test file:(null) line:0 offset:0 return:0 lazy:(null)
0 arguments
Error: -v and -q are exclusive.

After:
# perf probe -q -v test
Error: -v and -q are exclusive.

Fixes: 5e17b28f1e24 ("perf probe: Add --quiet option to suppress output result message")
Signed-off-by: Yang Jihong <[email protected]>
---
tools/perf/builtin-probe.c | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
index 2ae50fc9e597..ed73d0b89ca2 100644
--- a/tools/perf/builtin-probe.c
+++ b/tools/perf/builtin-probe.c
@@ -612,6 +612,15 @@ __cmd_probe(int argc, const char **argv)

argc = parse_options(argc, argv, options, probe_usage,
PARSE_OPT_STOP_AT_NON_OPTION);
+
+ if (quiet) {
+ if (verbose != 0) {
+ pr_err(" Error: -v and -q are exclusive.\n");
+ return -EINVAL;
+ }
+ verbose = -1;
+ }
+
if (argc > 0) {
if (strcmp(argv[0], "-") == 0) {
usage_with_options_msg(probe_usage, options,
@@ -633,14 +642,6 @@ __cmd_probe(int argc, const char **argv)
if (ret)
return ret;

- if (quiet) {
- if (verbose != 0) {
- pr_err(" Error: -v and -q are exclusive.\n");
- return -EINVAL;
- }
- verbose = -1;
- }
-
if (probe_conf.max_probes == 0)
probe_conf.max_probes = MAX_PROBES;

--
2.30.GIT


2022-12-20 11:21:42

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH 3/3] perf probe: Check -v and -q options in the right place

On 20/12/22 05:57, Yang Jihong wrote:
> Check the -q and -v options first to return earlier on error.
>
> Before:
> # perf probe -q -v test
> probe-definition(0): test
> symbol:test file:(null) line:0 offset:0 return:0 lazy:(null)
> 0 arguments
> Error: -v and -q are exclusive.
>
> After:
> # perf probe -q -v test
> Error: -v and -q are exclusive.
>
> Fixes: 5e17b28f1e24 ("perf probe: Add --quiet option to suppress output result message")
> Signed-off-by: Yang Jihong <[email protected]>

Reviewed-by: Adrian Hunter <[email protected]>

> ---
> tools/perf/builtin-probe.c | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/tools/perf/builtin-probe.c b/tools/perf/builtin-probe.c
> index 2ae50fc9e597..ed73d0b89ca2 100644
> --- a/tools/perf/builtin-probe.c
> +++ b/tools/perf/builtin-probe.c
> @@ -612,6 +612,15 @@ __cmd_probe(int argc, const char **argv)
>
> argc = parse_options(argc, argv, options, probe_usage,
> PARSE_OPT_STOP_AT_NON_OPTION);
> +
> + if (quiet) {
> + if (verbose != 0) {
> + pr_err(" Error: -v and -q are exclusive.\n");
> + return -EINVAL;
> + }
> + verbose = -1;
> + }
> +
> if (argc > 0) {
> if (strcmp(argv[0], "-") == 0) {
> usage_with_options_msg(probe_usage, options,
> @@ -633,14 +642,6 @@ __cmd_probe(int argc, const char **argv)
> if (ret)
> return ret;
>
> - if (quiet) {
> - if (verbose != 0) {
> - pr_err(" Error: -v and -q are exclusive.\n");
> - return -EINVAL;
> - }
> - verbose = -1;
> - }
> -
> if (probe_conf.max_probes == 0)
> probe_conf.max_probes = MAX_PROBES;
>