forked from Minki/linux
CIFS: add ONCE flag for cifs_dbg type
* Since cifs_vfs_error was just using pr_debug_ratelimited like the rest of cifs_dbg, move it there too * Add a ONCE type flag to call the pr_xxx_once() debug function instead of the ratelimited ones. To convert existing printk_once() calls to this we can run: perl -i -pE \ 's/printk_once\s*\(([^" \n]+)(.*)/cifs_dbg(VFS|ONCE,$2/g' \ fs/cifs/*.c Signed-off-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
3995bbf53b
commit
f2f176b418
@ -42,23 +42,6 @@ cifs_dump_mem(char *label, void *data, int length)
|
|||||||
data, length, true);
|
data, length, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CIFS_DEBUG
|
|
||||||
void cifs_vfs_err(const char *fmt, ...)
|
|
||||||
{
|
|
||||||
struct va_format vaf;
|
|
||||||
va_list args;
|
|
||||||
|
|
||||||
va_start(args, fmt);
|
|
||||||
|
|
||||||
vaf.fmt = fmt;
|
|
||||||
vaf.va = &args;
|
|
||||||
|
|
||||||
pr_err_ratelimited("CIFS VFS: %pV", &vaf);
|
|
||||||
|
|
||||||
va_end(args);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void cifs_dump_detail(void *buf)
|
void cifs_dump_detail(void *buf)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_CIFS_DEBUG2
|
#ifdef CONFIG_CIFS_DEBUG2
|
||||||
|
@ -39,6 +39,7 @@ extern int cifsFYI;
|
|||||||
#else
|
#else
|
||||||
#define NOISY 0
|
#define NOISY 0
|
||||||
#endif
|
#endif
|
||||||
|
#define ONCE 8
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* debug ON
|
* debug ON
|
||||||
@ -46,19 +47,28 @@ extern int cifsFYI;
|
|||||||
*/
|
*/
|
||||||
#ifdef CONFIG_CIFS_DEBUG
|
#ifdef CONFIG_CIFS_DEBUG
|
||||||
|
|
||||||
__printf(1, 2) void cifs_vfs_err(const char *fmt, ...);
|
|
||||||
|
|
||||||
/* information message: e.g., configuration, major event */
|
/* information message: e.g., configuration, major event */
|
||||||
#define cifs_dbg(type, fmt, ...) \
|
#define cifs_dbg_func(ratefunc, type, fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (type == FYI && cifsFYI & CIFS_INFO) { \
|
if ((type) & FYI && cifsFYI & CIFS_INFO) { \
|
||||||
pr_debug_ratelimited("%s: " \
|
pr_debug_ ## ratefunc("%s: " \
|
||||||
fmt, __FILE__, ##__VA_ARGS__); \
|
fmt, __FILE__, ##__VA_ARGS__); \
|
||||||
} else if (type == VFS) { \
|
} else if ((type) & VFS) { \
|
||||||
cifs_vfs_err(fmt, ##__VA_ARGS__); \
|
pr_err_ ## ratefunc("CuIFS VFS: " \
|
||||||
} else if (type == NOISY && type != 0) { \
|
fmt, ##__VA_ARGS__); \
|
||||||
pr_debug_ratelimited(fmt, ##__VA_ARGS__); \
|
} else if ((type) & NOISY && (NOISY != 0)) { \
|
||||||
} \
|
pr_debug_ ## ratefunc(fmt, ##__VA_ARGS__); \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#define cifs_dbg(type, fmt, ...) \
|
||||||
|
do { \
|
||||||
|
if ((type) & ONCE) \
|
||||||
|
cifs_dbg_func(once, \
|
||||||
|
type, fmt, ##__VA_ARGS__); \
|
||||||
|
else \
|
||||||
|
cifs_dbg_func(ratelimited, \
|
||||||
|
type, fmt, ##__VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user