mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
2.8 KiB
130 lines
2.8 KiB
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* |
|
* linux/include/linux/sunrpc/debug.h |
|
* |
|
* Debugging support for sunrpc module |
|
* |
|
* Copyright (C) 1996, Olaf Kirch <[email protected]> |
|
*/ |
|
#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_ */
|
|
|