aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-12-20 23:43:32 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2020-02-07 14:48:32 -0500
commit3fbb8d5554a1481d9c5f54ee7dc59f416650efb1 (patch)
treed7506d2e2e3e4c04212ec700ddc61561497e581d /include/linux
parentteach logfc() to handle prefices, give it saner calling conventions (diff)
downloadlinux-dev-3fbb8d5554a1481d9c5f54ee7dc59f416650efb1.tar.xz
linux-dev-3fbb8d5554a1481d9c5f54ee7dc59f416650efb1.zip
struct p_log, variants of warnf() et.al. taking that one instead
primitives for prefixed logging Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fs_context.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h
index d18ff422e942..6a7eeb252084 100644
--- a/include/linux/fs_context.h
+++ b/include/linux/fs_context.h
@@ -73,6 +73,11 @@ struct fs_parameter {
int dirfd;
};
+struct p_log {
+ const char *prefix;
+ struct fc_log *log;
+};
+
/*
* Filesystem context for holding the parameters used in the creation or
* reconfiguration of a superblock.
@@ -188,6 +193,8 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
struct fs_context *__fc = (fc); \
logfc(__fc ? __fc->log : NULL, NULL, \
l, fmt, ## __VA_ARGS__);})
+#define __plog(p, l, fmt, ...) logfc((p)->log, (p)->prefix, \
+ l, fmt, ## __VA_ARGS__)
/**
* infof - Store supplementary informational message
* @fc: The context in which to log the informational message
@@ -197,6 +204,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* has enabled the facility.
*/
#define infof(fc, fmt, ...) __logfc(fc, 'i', fmt, ## __VA_ARGS__)
+#define info_plog(p, fmt, ...) __plog(p, 'i', fmt, ## __VA_ARGS__)
/**
* warnf - Store supplementary warning message
@@ -207,6 +215,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility.
*/
#define warnf(fc, fmt, ...) __logfc(fc, 'w', fmt, ## __VA_ARGS__)
+#define warn_plog(p, fmt, ...) __plog(p, 'w', fmt, ## __VA_ARGS__)
/**
* errorf - Store supplementary error message
@@ -217,6 +226,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility.
*/
#define errorf(fc, fmt, ...) __logfc(fc, 'e', fmt, ## __VA_ARGS__)
+#define error_plog(p, fmt, ...) __plog(p, 'e', fmt, ## __VA_ARGS__)
/**
* invalf - Store supplementary invalid argument error message
@@ -227,5 +237,6 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility and return -EINVAL.
*/
#define invalf(fc, fmt, ...) (errorf(fc, fmt, ## __VA_ARGS__), -EINVAL)
+#define inval_plog(p, fmt, ...) (error_plog(p, fmt, ## __VA_ARGS__), -EINVAL)
#endif /* _LINUX_FS_CONTEXT_H */