Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ceph_debug.h
Go to the documentation of this file.
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)
15 extern 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