5 #define VXD_CBIT(n,m) (vx_debug_ ## n & (1 << (m)))
6 #define VXD_CMIN(n,m) (vx_debug_ ## n > (m))
7 #define VXD_MASK(n,m) (vx_debug_ ## n & (m))
9 #define VXD_QPOS(v,p) (((uint32_t)(v) >> ((p)*8)) & 0xFF)
10 #define VXD_QUAD(v) VXD_QPOS(v,0), VXD_QPOS(v,1), \
11 VXD_QPOS(v,2), VXD_QPOS(v,3)
12 #define VXF_QUAD "%u.%u.%u.%u"
14 #define VXD_DEV(d) (d), (d)->bd_inode->i_ino, \
15 imajor((d)->bd_inode), iminor((d)->bd_inode)
16 #define VXF_DEV "%p[%lu,%d:%d]"
19 #define __FUNC__ __func__
22 #ifdef CONFIG_VSERVER_DEBUG
24 extern unsigned int vx_debug_switch;
25 extern unsigned int vx_debug_xid;
26 extern unsigned int vx_debug_nid;
27 extern unsigned int vx_debug_tag;
28 extern unsigned int vx_debug_net;
29 extern unsigned int vx_debug_limit;
30 extern unsigned int vx_debug_cres;
31 extern unsigned int vx_debug_dlim;
32 extern unsigned int vx_debug_quota;
33 extern unsigned int vx_debug_cvirt;
34 extern unsigned int vx_debug_misc;
37 #define VX_LOGLEVEL "vxD: "
38 #define VX_WARNLEVEL KERN_WARNING "vxW: "
40 #define vxdprintk(c,f,x...) \
43 printk(VX_LOGLEVEL f "\n" , ##x); \
46 #define vxlprintk(c,f,x...) \
49 printk(VX_LOGLEVEL f " @%s:%d\n", x); \
52 #define vxfprintk(c,f,x...) \
55 printk(VX_LOGLEVEL f " %s@%s:%d\n", x); \
59 #define vxwprintk(c,f,x...) \
62 printk(VX_WARNLEVEL f "\n" , ##x); \
66 #define vxd_path(d,m) \
67 ({ static char _buffer[PATH_MAX]; \
68 d_path((d), (m), _buffer, sizeof(_buffer)); })
70 #define vxd_cond_path(n) \
71 ((n) ? vxd_path((n)->dentry, (n)->mnt) : "<null>" )
76 void dump_vx_info(struct vx_info *, int);
77 void dump_vx_info_inactive(int);
79 #else /* CONFIG_VSERVER_DEBUG */
81 #define vx_debug_switch 0
82 #define vx_debug_xid 0
83 #define vx_debug_nid 0
84 #define vx_debug_tag 0
85 #define vx_debug_net 0
86 #define vx_debug_limit 0
87 #define vx_debug_cres 0
88 #define vx_debug_dlim 0
89 #define vx_debug_cvirt 0
91 #define vxdprintk(x...) do { } while (0)
92 #define vxlprintk(x...) do { } while (0)
93 #define vxfprintk(x...) do { } while (0)
94 #define vxwprintk(x...) do { } while (0)
96 #define vxd_path "<none>"
97 #define vxd_cond_path vxd_path
99 #endif /* CONFIG_VSERVER_DEBUG */
102 #ifdef CONFIG_VSERVER_DEBUG
103 #define vxd_assert_lock(l) assert_spin_locked(l)
104 #define vxd_assert(c,f,x...) vxlprintk(!(c), \
105 "assertion [" f "] failed.", ##x, __FILE__, __LINE__)
107 #define vxd_assert_lock(l) do { } while (0)
108 #define vxd_assert(c,f,x...) do { } while (0)
112 #endif /* _VX_DEBUG_H */