From: Breno Leitao <leitao@debian.org>
To: Matthew Wood <thepacketgeek@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Jonathan Corbet <corbet@lwn.net>,
netdev@vger.kernel.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v2] net: netconsole: Add continuation line prefix to userdata messages
Date: Fri, 1 Mar 2024 01:35:44 -0800 [thread overview]
Message-ID: <ZeGhcN/C7h1KWcTO@gmail.com> (raw)
In-Reply-To: <20240229183602.321747-1-thepacketgeek@gmail.com>
On Thu, Feb 29, 2024 at 10:36:01AM -0800, Matthew Wood wrote:
> Add a space (' ') prefix to every userdata line to match docs for
> dev-kmsg. To account for this extra character in each userdata entry,
> reduce userdata entry names (directory name) from 54 characters to 53.
>
> According to the dev-kmsg docs, a space is used for subsequent lines to
> mark them as continuation lines.
>
> > A line starting with ' ', is a continuation line, adding
> > key/value pairs to the log message, which provide the machine
> > readable context of the message, for reliable processing in
> > userspace.
>
> Testing for this patch::
>
> cd /sys/kernel/config/netconsole && mkdir cmdline0
> cd cmdline0
> mkdir userdata/test && echo "hello" > userdata/test/value
> mkdir userdata/test2 && echo "hello2" > userdata/test2/value
> echo "message" > /dev/kmsg
>
> Outputs::
>
> 6.8.0-rc5-virtme,12,493,231373579,-;message
> test=hello
> test2=hello2
>
> And I confirmed all testing works as expected from the original patchset
>
> v1 -> v2:
> - Calculate 53 byte user data name from: entry length - formatting chars - value length
> - Update docs to reflect 53 byte limit for user data name (director)
I think the changelog needs to come after the --- below, but I will
defer that to the maintainers.
> Fixes: df03f830d099 ("net: netconsole: cache userdata formatted string in netconsole_target")
> Signed-off-by: Matthew Wood <thepacketgeek@gmail.com>
> ---
> Documentation/networking/netconsole.rst | 8 ++++----
> drivers/net/netconsole.c | 8 +++++---
> 2 files changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/networking/netconsole.rst b/Documentation/networking/netconsole.rst
> index b28c525e5d1e..d55c2a22ec7a 100644
> --- a/Documentation/networking/netconsole.rst
> +++ b/Documentation/networking/netconsole.rst
> @@ -180,7 +180,7 @@ Custom user data can be appended to the end of messages with netconsole
> dynamic configuration enabled. User data entries can be modified without
> changing the "enabled" attribute of a target.
>
> -Directories (keys) under `userdata` are limited to 54 character length, and
> +Directories (keys) under `userdata` are limited to 53 character length, and
> data in `userdata/<key>/value` are limited to 200 bytes::
>
> cd /sys/kernel/config/netconsole && mkdir cmdline0
> @@ -197,8 +197,8 @@ Messages will now include this additional user data::
> Sends::
>
> 12,607,22085407756,-;This is a message
> - foo=bar
> - qux=baz
> + foo=bar
> + qux=baz
>
> Preview the userdata that will be appended with::
>
> @@ -218,7 +218,7 @@ The `qux` key is omitted since it has no value::
>
> echo "This is a message" > /dev/kmsg
> 12,607,22085407756,-;This is a message
> - foo=bar
> + foo=bar
>
> Delete `userdata` entries with `rmdir`::
>
> diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c
> index 0de108a1c0c8..46e447ea41b8 100644
> --- a/drivers/net/netconsole.c
> +++ b/drivers/net/netconsole.c
> @@ -43,9 +43,11 @@ MODULE_DESCRIPTION("Console driver for network interfaces");
> MODULE_LICENSE("GPL");
>
> #define MAX_PARAM_LENGTH 256
> -#define MAX_USERDATA_NAME_LENGTH 54
> -#define MAX_USERDATA_VALUE_LENGTH 200
> #define MAX_USERDATA_ENTRY_LENGTH 256
> +#define MAX_USERDATA_VALUE_LENGTH 200
> +#define MAX_USERDATA_NAME_LENGTH MAX_USERDATA_ENTRY_LENGTH - \
> + MAX_USERDATA_VALUE_LENGTH - \
> + 3 /* ' ' '=' '\n' characters */
This is not beautiful even for my standards. I think something like the
code below makes more sense, even if checkpatch is not happy.
/* The number three below comes from ' ' + '=' + '\n' characters */
#define MAX_USERDATA_NAME_LENGTH MAX_USERDATA_ENTRY_LENGTH - MAX_USERDATA_VALUE_LENGTH - 3
prev parent reply other threads:[~2024-03-01 9:35 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-29 18:36 [PATCH net-next v2] net: netconsole: Add continuation line prefix to userdata messages Matthew Wood
2024-03-01 9:35 ` Breno Leitao [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZeGhcN/C7h1KWcTO@gmail.com \
--to=leitao@debian.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=thepacketgeek@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.