Re: [PATCH v8-RESEND 27/33] dyndbg-doc: explain flags parse 1st

From: Łukasz Bartosik
Date: Tue May 21 2024 - 07:59:16 EST


On Thu, May 16, 2024 at 7:45 PM Jim Cromie <jim.cromie@xxxxxxxxx> wrote:
>
> When writing queries to >control, flags are parsed 1st, since they are
> the only required field. So if the flags draw an error, then keyword
> errors aren't reported. This can be mildly confusing/annoying, so
> explain it instead.
>
> This note could be moved up to just after the grammar id's the flags,
> and before the match-spec is detailed. Opinions ?
>

IMHO the localization of the note is ok.


> Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx>
> ---
> Documentation/admin-guide/dynamic-debug-howto.rst | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/Documentation/admin-guide/dynamic-debug-howto.rst b/Documentation/admin-guide/dynamic-debug-howto.rst
> index 7b570f29ae98..ccf3704f2143 100644
> --- a/Documentation/admin-guide/dynamic-debug-howto.rst
> +++ b/Documentation/admin-guide/dynamic-debug-howto.rst
> @@ -106,6 +106,16 @@ The match-spec's select *prdbgs* from the catalog, upon which to apply
> the flags-spec, all constraints are ANDed together. An absent keyword
> is the same as keyword "*".
>
> +Note: because the match-spec can be empty, the flags are checked 1st,
> +then the pairs of keyword values. Flag errs will hide keyword errs:
> +
> + bash-5.2# ddcmd mod bar +foo
> + dyndbg: read 13 bytes from userspace
> + dyndbg: query 0: "mod bar +foo" mod:*
> + dyndbg: unknown flag 'o'
> + dyndbg: flags parse failed
> + dyndbg: processed 1 queries, with 0 matches, 1 errs
> +
> A match specification is a keyword, which selects the attribute of
> the callsite to be compared, and a value to compare against. Possible
> keywords are:::
> --
> 2.45.0
>