2 * linux/include/linux/sunrpc/debug.h
4 * Debugging support for sunrpc module
6 * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
8 #ifndef _LINUX_SUNRPC_DEBUG_H_
9 #define _LINUX_SUNRPC_DEBUG_H_
11 #include <uapi/linux/sunrpc/debug.h>
14 * Debugging macros etc
16 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
17 extern unsigned int rpc_debug
;
18 extern unsigned int nfs_debug
;
19 extern unsigned int nfsd_debug
;
20 extern unsigned int nlm_debug
;
23 #define dprintk(args...) dfprintk(FACILITY, ## args)
24 #define dprintk_rcu(args...) dfprintk_rcu(FACILITY, ## args)
27 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
28 # define ifdebug(fac) if (unlikely(rpc_debug & RPCDBG_##fac))
30 # define dfprintk(fac, args...) \
33 printk(KERN_DEFAULT args); \
36 # define dfprintk_rcu(fac, args...) \
40 printk(KERN_DEFAULT args); \
45 # define RPC_IFDEBUG(x) x
47 # define ifdebug(fac) if (0)
48 # define dfprintk(fac, args...) do {} while (0)
49 # define dfprintk_rcu(fac, args...) do {} while (0)
50 # define RPC_IFDEBUG(x)
54 * Sysctl interface for RPC debugging
60 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
61 void rpc_register_sysctl(void);
62 void rpc_unregister_sysctl(void);
63 void sunrpc_debugfs_init(void);
64 void sunrpc_debugfs_exit(void);
65 void rpc_clnt_debugfs_register(struct rpc_clnt
*);
66 void rpc_clnt_debugfs_unregister(struct rpc_clnt
*);
67 void rpc_xprt_debugfs_register(struct rpc_xprt
*);
68 void rpc_xprt_debugfs_unregister(struct rpc_xprt
*);
71 sunrpc_debugfs_init(void)
77 sunrpc_debugfs_exit(void)
83 rpc_clnt_debugfs_register(struct rpc_clnt
*clnt
)
89 rpc_clnt_debugfs_unregister(struct rpc_clnt
*clnt
)
95 rpc_xprt_debugfs_register(struct rpc_xprt
*xprt
)
101 rpc_xprt_debugfs_unregister(struct rpc_xprt
*xprt
)
107 #endif /* _LINUX_SUNRPC_DEBUG_H_ */