Commit e27d359e9b7e446190362cd5c8fe281d02194896
1 parent
3b3be88d67
SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG
This allows us to turn on/off the dprintk() debugging interfaces for those distributions that don't ship the 'rpcdebug' utility. It also allows us to add Kbuild dependencies. Specifically, we already know that dprintk() in general relies on CONFIG_SYSCTL. Now it turns out that the NFS dprintks depend on CONFIG_CRC32 after we added support for the filehandle hash. Reported-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Showing 7 changed files with 31 additions and 13 deletions Side-by-side Diff
fs/nfs/Kconfig
fs/nfs/inode.c
fs/nfs/mount_clnt.c
fs/nfs/nfsroot.c
... | ... | @@ -104,7 +104,7 @@ |
104 | 104 | /* server:export path string passed to super.c */ |
105 | 105 | static char nfs_root_device[NFS_MAXPATHLEN + 1] __initdata = ""; |
106 | 106 | |
107 | -#ifdef RPC_DEBUG | |
107 | +#ifdef NFS_DEBUG | |
108 | 108 | /* |
109 | 109 | * When the "nfsrootdebug" kernel command line option is specified, |
110 | 110 | * enable debugging messages for NFSROOT. |
include/linux/nfs_fs.h
... | ... | @@ -38,6 +38,13 @@ |
38 | 38 | |
39 | 39 | #ifdef __KERNEL__ |
40 | 40 | |
41 | +/* | |
42 | + * Enable dprintk() debugging support for nfs client. | |
43 | + */ | |
44 | +#ifdef CONFIG_NFS_DEBUG | |
45 | +# define NFS_DEBUG | |
46 | +#endif | |
47 | + | |
41 | 48 | #include <linux/in.h> |
42 | 49 | #include <linux/mm.h> |
43 | 50 | #include <linux/pagemap.h> |
... | ... | @@ -391,7 +398,7 @@ |
391 | 398 | kfree(fh); |
392 | 399 | } |
393 | 400 | |
394 | -#ifdef RPC_DEBUG | |
401 | +#ifdef NFS_DEBUG | |
395 | 402 | extern u32 _nfs_display_fhandle_hash(const struct nfs_fh *fh); |
396 | 403 | static inline u32 nfs_display_fhandle_hash(const struct nfs_fh *fh) |
397 | 404 | { |
... | ... | @@ -649,14 +656,6 @@ |
649 | 656 | #define NFSDBG_ALL 0xFFFF |
650 | 657 | |
651 | 658 | #ifdef __KERNEL__ |
652 | - | |
653 | -/* | |
654 | - * Enable debugging support for nfs client. | |
655 | - * Requires RPC_DEBUG. | |
656 | - */ | |
657 | -#ifdef RPC_DEBUG | |
658 | -# define NFS_DEBUG | |
659 | -#endif | |
660 | 659 | |
661 | 660 | # undef ifdebug |
662 | 661 | # ifdef NFS_DEBUG |
include/linux/sunrpc/debug.h
net/sunrpc/Kconfig
... | ... | @@ -39,4 +39,17 @@ |
39 | 39 | Kerberos support should be installed. |
40 | 40 | |
41 | 41 | If unsure, say Y. |
42 | + | |
43 | +config SUNRPC_DEBUG | |
44 | + bool "RPC: Enable dprintk debugging" | |
45 | + depends on SUNRPC && SYSCTL | |
46 | + help | |
47 | + This option enables a sysctl-based debugging interface | |
48 | + that is be used by the 'rpcdebug' utility to turn on or off | |
49 | + logging of different aspects of the kernel RPC activity. | |
50 | + | |
51 | + Disabling this option will make your kernel slightly smaller, | |
52 | + but makes troubleshooting NFS issues significantly harder. | |
53 | + | |
54 | + If unsure, say Y. |