mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 16:16:41 +07:00
de57606c23
We first define constants, types, and prototypes for the kernel client proper. A few subsystems are defined separately later: the MDS, OSD, and monitor clients, and the messaging layer. Signed-off-by: Sage Weil <sage@newdream.net>
38 lines
877 B
C
38 lines
877 B
C
#ifndef _FS_CEPH_DEBUG_H
|
|
#define _FS_CEPH_DEBUG_H
|
|
|
|
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
|
|
|
#ifdef CONFIG_CEPH_FS_PRETTYDEBUG
|
|
|
|
/*
|
|
* wrap pr_debug to include a filename:lineno prefix on each line.
|
|
* this incurs some overhead (kernel size and execution time) due to
|
|
* the extra function call at each call site.
|
|
*/
|
|
|
|
# if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)
|
|
extern const char *ceph_file_part(const char *s, int len);
|
|
# define dout(fmt, ...) \
|
|
pr_debug(" %12.12s:%-4d : " fmt, \
|
|
ceph_file_part(__FILE__, sizeof(__FILE__)), \
|
|
__LINE__, ##__VA_ARGS__)
|
|
# else
|
|
/* faux printk call just to see any compiler warnings. */
|
|
# define dout(fmt, ...) do { \
|
|
if (0) \
|
|
printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
|
|
} while (0)
|
|
# endif
|
|
|
|
#else
|
|
|
|
/*
|
|
* or, just wrap pr_debug
|
|
*/
|
|
# define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__)
|
|
|
|
#endif
|
|
|
|
#endif
|