From: Chris Down <chris@chrisdown.name>
To: Jonathan Lassoff <jof@thejof.com>
Cc: linux-xfs@vger.kernel.org, "Darrick J. Wong" <djwong@kernel.org>,
Dave Chinner <david@fromorbit.com>,
Petr Mladek <pmladek@suse.com>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
John Ogness <john.ogness@linutronix.de>
Subject: Re: [PATCH v3 2/2] Add XFS messages to printk index
Date: Wed, 30 Mar 2022 13:07:34 +0100 [thread overview]
Message-ID: <YkRIBtx2qMtu9wPG@chrisdown.name> (raw)
In-Reply-To: <3c3ae424913cb921a9f8abddfcb1b418e7cfa601.1648228733.git.jof@thejof.com>
Jonathan Lassoff writes:
>In order for end users to quickly react to new issues that come up in
>production, it is proving useful to leverage the printk indexing system.
>This printk index enables kernel developers to use calls to printk()
>with changeable ad-hoc format strings, while still enabling end users
>to detect changes from release to release.
>
>So that detailed XFS messages are captures by this printk index, this
>patch wraps the xfs_<level> and xfs_alert_tag functions.
>
>Signed-off-by: Jonathan Lassoff <jof@thejof.com>
After Dave's suggested whitespace/ordering fixup, feel free to add:
Reviewed-by: Chris Down <chris@chrisdown.name>
Thanks!
>---
>
>Notes:
> [PATCH v1]
> * De-duplicate kernel logging levels and tidy whitespace.
> [PATCH v2]
> * Split changes into two patches:
> - function and prototype de-duplication.
> - Adding printk indexing
> [PATCH v3]
> * Fix some whitespace and semicolon. *facepalm*
>
> fs/xfs/xfs_message.c | 2 +-
> fs/xfs/xfs_message.h | 29 ++++++++++++++++++++---------
> 2 files changed, 21 insertions(+), 10 deletions(-)
>
>diff --git a/fs/xfs/xfs_message.c b/fs/xfs/xfs_message.c
>index ede8a4f2f676..f01efad20420 100644
>--- a/fs/xfs/xfs_message.c
>+++ b/fs/xfs/xfs_message.c
>@@ -51,7 +51,7 @@ void xfs_printk_level(
> }
>
> void
>-xfs_alert_tag(
>+_xfs_alert_tag(
> const struct xfs_mount *mp,
> int panic_tag,
> const char *fmt, ...)
>diff --git a/fs/xfs/xfs_message.h b/fs/xfs/xfs_message.h
>index 2f609800e806..6f9a1b67c4d7 100644
>--- a/fs/xfs/xfs_message.h
>+++ b/fs/xfs/xfs_message.h
>@@ -6,34 +6,45 @@
>
> struct xfs_mount;
>
>+#define xfs_printk_index_wrap(kern_level, mp, fmt, ...) \
>+({ \
>+ printk_index_subsys_emit("%sXFS%s: ", kern_level, fmt); \
>+ xfs_printk_level(kern_level, mp, fmt, ##__VA_ARGS__); \
>+})
> extern __printf(3, 4)
> void xfs_printk_level(
> const char *kern_level,
> const struct xfs_mount *mp,
> const char *fmt, ...);
> #define xfs_emerg(mp, fmt, ...) \
>- xfs_printk_level(KERN_EMERG, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_EMERG, mp, fmt, ##__VA_ARGS__)
> #define xfs_alert(mp, fmt, ...) \
>- xfs_printk_level(KERN_ALERT, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_ALERT, mp, fmt, ##__VA_ARGS__)
> #define xfs_crit(mp, fmt, ...) \
>- xfs_printk_level(KERN_CRIT, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_CRIT, mp, fmt, ##__VA_ARGS__)
> #define xfs_err(mp, fmt, ...) \
>- xfs_printk_level(KERN_ERR, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_ERR, mp, fmt, ##__VA_ARGS__)
> #define xfs_warn(mp, fmt, ...) \
>- xfs_printk_level(KERN_WARNING, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_WARNING, mp, fmt, ##__VA_ARGS__)
> #define xfs_notice(mp, fmt, ...) \
>- xfs_printk_level(KERN_NOTICE, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_NOTICE, mp, fmt, ##__VA_ARGS__)
> #define xfs_info(mp, fmt, ...) \
>- xfs_printk_level(KERN_INFO, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_INFO, mp, fmt, ##__VA_ARGS__)
> #ifdef DEBUG
> #define xfs_debug(mp, fmt, ...) \
>- xfs_printk_level(KERN_DEBUG, mp, fmt, ##__VA_ARGS__)
>+ xfs_printk_index_wrap(KERN_DEBUG, mp, fmt, ##__VA_ARGS__)
> #else
> #define xfs_debug(mp, fmt, ...) do {} while (0)
> #endif
>
>+#define xfs_alert_tag(mp, tag, fmt, ...) \
>+({ \
>+ printk_index_subsys_emit("%sXFS%s: ", KERN_ALERT, fmt); \
>+ _xfs_alert_tag(mp, tag, fmt, ##__VA_ARGS__); \
>+})
>+
> extern __printf(3, 4)
>-void xfs_alert_tag(const struct xfs_mount *mp, int tag, const char *fmt, ...);
>+void _xfs_alert_tag(const struct xfs_mount *mp, int tag, const char *fmt, ...);
>
>
> #define xfs_printk_ratelimited(func, dev, fmt, ...) \
>--
>2.35.1
>
next prev parent reply other threads:[~2022-03-30 12:17 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-25 17:19 [PATCH v3 1/2] Simplify XFS logging methods Jonathan Lassoff
2022-03-25 17:19 ` [PATCH v3 2/2] Add XFS messages to printk index Jonathan Lassoff
2022-03-29 13:34 ` Petr Mladek
2022-03-30 0:34 ` Dave Chinner
2022-03-30 0:46 ` Darrick J. Wong
2022-03-30 1:26 ` Dave Chinner
2022-03-30 14:59 ` Petr Mladek
2022-03-30 15:07 ` Chris Down
2022-03-31 15:06 ` Darrick J. Wong
2022-04-05 12:55 ` Petr Mladek
2022-03-31 9:14 ` Sergey Senozhatsky
2022-03-30 11:52 ` Chris Down
2022-03-30 16:47 ` Steven Rostedt
2022-03-30 17:09 ` Chris Down
2022-03-30 17:25 ` Chris Down
2022-03-30 17:39 ` Steven Rostedt
2022-03-30 17:44 ` Chris Down
2022-03-30 21:02 ` Dave Chinner
2022-03-31 14:09 ` Petr Mladek
2022-04-01 21:50 ` Dave Chinner
2022-03-30 12:05 ` Chris Down
2022-03-30 0:05 ` Dave Chinner
2022-03-30 12:07 ` Chris Down [this message]
2022-03-31 1:38 ` Jonathan Lassoff
2022-03-29 13:03 ` [PATCH v3 1/2] Simplify XFS logging methods Petr Mladek
2022-03-29 23:54 ` Dave Chinner
2022-03-30 11:40 ` Petr Mladek
2022-03-30 11:55 ` Chris Down
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=YkRIBtx2qMtu9wPG@chrisdown.name \
--to=chris@chrisdown.name \
--cc=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=jof@thejof.com \
--cc=john.ogness@linutronix.de \
--cc=linux-xfs@vger.kernel.org \
--cc=pmladek@suse.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).