1#ifndef _FS_CEPH_DEBUG_H
2#define _FS_CEPH_DEBUG_H
3
4#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
5
6#ifdef CONFIG_CEPH_LIB_PRETTYDEBUG
7
8/*
9 * wrap pr_debug to include a filename:lineno prefix on each line.
10 * this incurs some overhead (kernel size and execution time) due to
11 * the extra function call at each call site.
12 */
13
14# if defined(DEBUG) || defined(CONFIG_DYNAMIC_DEBUG)
15extern const char *ceph_file_part(const char *s, int len);
16#  define dout(fmt, ...)						\
17	pr_debug("%.*s %12.12s:%-4d : " fmt,				\
18		 8 - (int)sizeof(KBUILD_MODNAME), "    ",		\
19		 ceph_file_part(__FILE__, sizeof(__FILE__)),		\
20		 __LINE__, ##__VA_ARGS__)
21# else
22/* faux printk call just to see any compiler warnings. */
23#  define dout(fmt, ...)	do {				\
24		if (0)						\
25			printk(KERN_DEBUG fmt, ##__VA_ARGS__);	\
26	} while (0)
27# endif
28
29#else
30
31/*
32 * or, just wrap pr_debug
33 */
34# define dout(fmt, ...)	pr_debug(" " fmt, ##__VA_ARGS__)
35
36#endif
37
38#endif
39