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