Commit 3fbb8d55 authored by Al Viro's avatar Al Viro

struct p_log, variants of warnf() et.al. taking that one instead

primitives for prefixed logging
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 9f09f649
...@@ -6353,6 +6353,7 @@ static int rbd_parse_param(struct fs_parameter *param, ...@@ -6353,6 +6353,7 @@ static int rbd_parse_param(struct fs_parameter *param,
{ {
struct rbd_options *opt = pctx->opts; struct rbd_options *opt = pctx->opts;
struct fs_parse_result result; struct fs_parse_result result;
struct p_log log = {.prefix = "rbd"};
int token, ret; int token, ret;
ret = ceph_parse_param(param, pctx->copts, NULL); ret = ceph_parse_param(param, pctx->copts, NULL);
......
...@@ -73,6 +73,11 @@ struct fs_parameter { ...@@ -73,6 +73,11 @@ struct fs_parameter {
int dirfd; int dirfd;
}; };
struct p_log {
const char *prefix;
struct fc_log *log;
};
/* /*
* Filesystem context for holding the parameters used in the creation or * Filesystem context for holding the parameters used in the creation or
* reconfiguration of a superblock. * reconfiguration of a superblock.
...@@ -188,6 +193,8 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt, ...@@ -188,6 +193,8 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
struct fs_context *__fc = (fc); \ struct fs_context *__fc = (fc); \
logfc(__fc ? __fc->log : NULL, NULL, \ logfc(__fc ? __fc->log : NULL, NULL, \
l, fmt, ## __VA_ARGS__);}) l, fmt, ## __VA_ARGS__);})
#define __plog(p, l, fmt, ...) logfc((p)->log, (p)->prefix, \
l, fmt, ## __VA_ARGS__)
/** /**
* infof - Store supplementary informational message * infof - Store supplementary informational message
* @fc: The context in which to log the 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, ...@@ -197,6 +204,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* has enabled the facility. * has enabled the facility.
*/ */
#define infof(fc, fmt, ...) __logfc(fc, 'i', fmt, ## __VA_ARGS__) #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 * warnf - Store supplementary warning message
...@@ -207,6 +215,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt, ...@@ -207,6 +215,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility. * enabled the facility.
*/ */
#define warnf(fc, fmt, ...) __logfc(fc, 'w', fmt, ## __VA_ARGS__) #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 * errorf - Store supplementary error message
...@@ -217,6 +226,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt, ...@@ -217,6 +226,7 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility. * enabled the facility.
*/ */
#define errorf(fc, fmt, ...) __logfc(fc, 'e', fmt, ## __VA_ARGS__) #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 * 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, ...@@ -227,5 +237,6 @@ void logfc(struct fc_log *log, const char *prefix, char level, const char *fmt,
* enabled the facility and return -EINVAL. * 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)
#define inval_plog(p, fmt, ...) (error_plog(p, fmt, ## __VA_ARGS__), -EINVAL)
#endif /* _LINUX_FS_CONTEXT_H */ #endif /* _LINUX_FS_CONTEXT_H */
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