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

From: Adrian Hunter
Date: Tue Dec 20 2022 - 06:12:45 EST


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 <yangjihong1@xxxxxxxxxx>

Reviewed-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>

> ---
> 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;
>