Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | /* SPDX-License-Identifier: GPL-2.0 */ /* * linux/include/linux/sunrpc/debug.h * * Debugging support for sunrpc module * * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de> */ #ifndef _LINUX_SUNRPC_DEBUG_H_ #define _LINUX_SUNRPC_DEBUG_H_ #include <uapi/linux/sunrpc/debug.h> /* * Debugging macros etc */ #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) extern unsigned int rpc_debug; extern unsigned int nfs_debug; extern unsigned int nfsd_debug; extern unsigned int nlm_debug; #endif #define dprintk(fmt, ...) \ dfprintk(FACILITY, fmt, ##__VA_ARGS__) #define dprintk_cont(fmt, ...) \ dfprintk_cont(FACILITY, fmt, ##__VA_ARGS__) #define dprintk_rcu(fmt, ...) \ dfprintk_rcu(FACILITY, fmt, ##__VA_ARGS__) #define dprintk_rcu_cont(fmt, ...) \ dfprintk_rcu_cont(FACILITY, fmt, ##__VA_ARGS__) #undef ifdebug #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) # define ifdebug(fac) if (unlikely(rpc_debug & RPCDBG_##fac)) # define dfprintk(fac, fmt, ...) \ do { \ ifdebug(fac) \ printk(KERN_DEFAULT fmt, ##__VA_ARGS__); \ } while (0) # define dfprintk_cont(fac, fmt, ...) \ do { \ ifdebug(fac) \ printk(KERN_CONT fmt, ##__VA_ARGS__); \ } while (0) # define dfprintk_rcu(fac, fmt, ...) \ do { \ ifdebug(fac) { \ rcu_read_lock(); \ printk(KERN_DEFAULT fmt, ##__VA_ARGS__); \ rcu_read_unlock(); \ } \ } while (0) # define dfprintk_rcu_cont(fac, fmt, ...) \ do { \ ifdebug(fac) { \ rcu_read_lock(); \ printk(KERN_CONT fmt, ##__VA_ARGS__); \ rcu_read_unlock(); \ } \ } while (0) # define RPC_IFDEBUG(x) x #else # define ifdebug(fac) if (0) # define dfprintk(fac, fmt, ...) do {} while (0) # define dfprintk_cont(fac, fmt, ...) do {} while (0) # define dfprintk_rcu(fac, fmt, ...) do {} while (0) # define RPC_IFDEBUG(x) #endif /* * Sysctl interface for RPC debugging */ struct rpc_clnt; struct rpc_xprt; #if IS_ENABLED(CONFIG_SUNRPC_DEBUG) void rpc_register_sysctl(void); void rpc_unregister_sysctl(void); void sunrpc_debugfs_init(void); void sunrpc_debugfs_exit(void); void rpc_clnt_debugfs_register(struct rpc_clnt *); void rpc_clnt_debugfs_unregister(struct rpc_clnt *); void rpc_xprt_debugfs_register(struct rpc_xprt *); void rpc_xprt_debugfs_unregister(struct rpc_xprt *); #else static inline void sunrpc_debugfs_init(void) { return; } static inline void sunrpc_debugfs_exit(void) { return; } static inline void rpc_clnt_debugfs_register(struct rpc_clnt *clnt) { return; } static inline void rpc_clnt_debugfs_unregister(struct rpc_clnt *clnt) { return; } static inline void rpc_xprt_debugfs_register(struct rpc_xprt *xprt) { return; } static inline void rpc_xprt_debugfs_unregister(struct rpc_xprt *xprt) { return; } #endif #endif /* _LINUX_SUNRPC_DEBUG_H_ */ |