Commit e2703569 authored by Jonathan Lassoff's avatar Jonathan Lassoff Committed by Dave Chinner

xfs: Add XFS messages to printk index

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 format strings (as they always have; no change of
expectations), while enabling end users to examine format strings to
detect changes.
Since end users are using regular expressions to match messages printed
through printk(), being able to detect changes in chosen format strings
from release to release provides a useful signal to review
printk()-matching regular expressions for any necessary updates.

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: default avatarJonathan Lassoff <jof@thejof.com>
Reviewed-by: default avatarChris Down <chris@chrisdown.name>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent e60aa787
......@@ -52,7 +52,7 @@ xfs_printk_level(
}
void
xfs_alert_tag(
_xfs_alert_tag(
const struct xfs_mount *mp,
int panic_tag,
const char *fmt, ...)
......
......@@ -10,29 +10,40 @@ extern __printf(3, 4)
void xfs_printk_level(const char *kern_level, const struct xfs_mount *mp,
const char *fmt, ...);
#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__); \
})
#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, ...) \
do { \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment