summaryrefslogtreecommitdiff
path: root/include/linux/fs_context.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2019-12-20 22:10:36 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2020-02-07 14:48:32 -0500
commit9f09f649ca3350cdb49c81f7d5ac6e64a4d7e1a1 (patch)
tree9cb379edb14d9d3970e3d02b65bf7fc3e1d3f5d8 /include/linux/fs_context.h
parentfbc2d1686dc5c2e403091f3c25ca2bc16f88cccb (diff)
downloadlwn-9f09f649ca3350cdb49c81f7d5ac6e64a4d7e1a1.tar.gz
lwn-9f09f649ca3350cdb49c81f7d5ac6e64a4d7e1a1.zip
teach logfc() to handle prefices, give it saner calling conventions
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/linux/fs_context.h')
-rw-r--r--include/linux/fs_context.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h
index c7c69640a6c6..d18ff422e942 100644
--- a/include/linux/fs_context.h
+++ b/include/linux/fs_context.h
@@ -181,9 +181,13 @@ struct fc_log {
char *buffer[8];
};
-extern __attribute__((format(printf, 2, 3)))
-void logfc(struct fs_context *fc, const char *fmt, ...);
+extern __attribute__((format(printf, 4, 5)))
+void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt, ...);
+#define __logfc(fc, l, fmt, ...) ({ \
+ struct fs_context *__fc = (fc); \
+ logfc(__fc ? __fc->log : NULL, NULL, \
+ l, fmt, ## __VA_ARGS__);})
/**
* infof - Store supplementary informational message
* @fc: The context in which to log the informational message
@@ -192,7 +196,7 @@ void logfc(struct fs_context *fc, const char *fmt, ...);
* Store the supplementary informational message for the process if the process
* has enabled the facility.
*/
-#define infof(fc, fmt, ...) ({ logfc(fc, "i "fmt, ## __VA_ARGS__); })
+#define infof(fc, fmt, ...) __logfc(fc, 'i', fmt, ## __VA_ARGS__)
/**
* warnf - Store supplementary warning message
@@ -202,7 +206,7 @@ void logfc(struct fs_context *fc, const char *fmt, ...);
* Store the supplementary warning message for the process if the process has
* enabled the facility.
*/
-#define warnf(fc, fmt, ...) ({ logfc(fc, "w "fmt, ## __VA_ARGS__); })
+#define warnf(fc, fmt, ...) __logfc(fc, 'w', fmt, ## __VA_ARGS__)
/**
* errorf - Store supplementary error message
@@ -212,7 +216,7 @@ void logfc(struct fs_context *fc, const char *fmt, ...);
* Store the supplementary error message for the process if the process has
* enabled the facility.
*/
-#define errorf(fc, fmt, ...) ({ logfc(fc, "e "fmt, ## __VA_ARGS__); })
+#define errorf(fc, fmt, ...) __logfc(fc, 'e', fmt, ## __VA_ARGS__)
/**
* invalf - Store supplementary invalid argument error message
@@ -222,6 +226,6 @@ void logfc(struct fs_context *fc, const char *fmt, ...);
* Store the supplementary error message for the process if the process has
* enabled the facility and return -EINVAL.
*/
-#define invalf(fc, fmt, ...) ({ errorf(fc, fmt, ## __VA_ARGS__); -EINVAL; })
+#define invalf(fc, fmt, ...) (errorf(fc, fmt, ## __VA_ARGS__), -EINVAL)
#endif /* _LINUX_FS_CONTEXT_H */