X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Flinux%2Fvserver%2Fdebug.h;h=1b1f34c92a2804e4b7dff578d197f00da8048368;hb=refs%2Fheads%2Fvserver;hp=9529c3c82287b426f05a0cf790c529ec26ce0588;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/include/linux/vserver/debug.h b/include/linux/vserver/debug.h index 9529c3c82..1b1f34c92 100644 --- a/include/linux/vserver/debug.h +++ b/include/linux/vserver/debug.h @@ -9,21 +9,37 @@ #define VXD_QPOS(v,p) (((uint32_t)(v) >> ((p)*8)) & 0xFF) #define VXD_QUAD(v) VXD_QPOS(v,0), VXD_QPOS(v,1), \ VXD_QPOS(v,2), VXD_QPOS(v,3) +#define VXF_QUAD "%u.%u.%u.%u" + +#define VXD_DEV(d) (d), (d)->bd_inode->i_ino, \ + imajor((d)->bd_inode), iminor((d)->bd_inode) +#define VXF_DEV "%p[%lu,%d:%d]" -// #define VXD_HERE __FILE__, __LINE__ #define __FUNC__ __func__ +#define vxd_path(d,m) \ + ({ static char _buffer[PATH_MAX]; \ + d_path((d), (m), _buffer, sizeof(_buffer)); }) + +#define vxd_cond_path(n) \ + ((n) ? vxd_path((n)->dentry, (n)->mnt) : "" ) + + #ifdef CONFIG_VSERVER_DEBUG extern unsigned int vx_debug_switch; extern unsigned int vx_debug_xid; extern unsigned int vx_debug_nid; +extern unsigned int vx_debug_tag; extern unsigned int vx_debug_net; extern unsigned int vx_debug_limit; +extern unsigned int vx_debug_cres; extern unsigned int vx_debug_dlim; +extern unsigned int vx_debug_quota; extern unsigned int vx_debug_cvirt; +extern unsigned int vx_debug_misc; #define VX_LOGLEVEL "vxD: " @@ -31,7 +47,7 @@ extern unsigned int vx_debug_cvirt; #define vxdprintk(c,f,x...) \ do { \ if (c) \ - printk(VX_LOGLEVEL f "\n", x); \ + printk(VX_LOGLEVEL f "\n" , ##x); \ } while (0) #define vxlprintk(c,f,x...) \ @@ -46,13 +62,21 @@ extern unsigned int vx_debug_cvirt; printk(VX_LOGLEVEL f " %s@%s:%d\n", x); \ } while (0) -#else + +struct vx_info; + +void dump_vx_info(struct vx_info *, int); +void dump_vx_info_inactive(int); + +#else /* CONFIG_VSERVER_DEBUG */ #define vx_debug_switch 0 #define vx_debug_xid 0 #define vx_debug_nid 0 +#define vx_debug_tag 0 #define vx_debug_net 0 #define vx_debug_limit 0 +#define vx_debug_cres 0 #define vx_debug_dlim 0 #define vx_debug_cvirt 0 @@ -60,8 +84,34 @@ extern unsigned int vx_debug_cvirt; #define vxlprintk(x...) do { } while (0) #define vxfprintk(x...) do { } while (0) -#endif +#endif /* CONFIG_VSERVER_DEBUG */ + + +#ifdef CONFIG_VSERVER_WARN + +#define VX_WARNLEVEL KERN_WARNING "vxW: " +#define vxwprintk(c,f,x...) \ + do { \ + if (c) \ + printk(VX_WARNLEVEL f "\n" , ##x); \ + } while (0) + +#else /* CONFIG_VSERVER_WARN */ + +#define vxwprintk(x...) do { } while (0) + +#endif /* CONFIG_VSERVER_WARN */ + + +#ifdef CONFIG_VSERVER_DEBUG +#define vxd_assert_lock(l) assert_spin_locked(l) +#define vxd_assert(c,f,x...) vxlprintk(!(c), \ + "assertion [" f "] failed.", ##x, __FILE__, __LINE__) +#else +#define vxd_assert_lock(l) do { } while (0) +#define vxd_assert(c,f,x...) do { } while (0) +#endif #endif /* _VX_DEBUG_H */