NFS: Allow NFSROOT debugging messages to be enabled dynamically
As a convenience, introduce a kernel command line option to enable NFSROOT debugging messages. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
8d23210378
commit
306a075362
3 changed files with 39 additions and 7 deletions
|
@ -159,6 +159,28 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
|
||||||
Default: any
|
Default: any
|
||||||
|
|
||||||
|
|
||||||
|
nfsrootdebug
|
||||||
|
|
||||||
|
This parameter enables debugging messages to appear in the kernel
|
||||||
|
log at boot time so that administrators can verify that the correct
|
||||||
|
NFS mount options, server address, and root path are passed to the
|
||||||
|
NFS client.
|
||||||
|
|
||||||
|
|
||||||
|
rdinit=<executable file>
|
||||||
|
|
||||||
|
To specify which file contains the program that starts system
|
||||||
|
initialization, administrators can use this command line parameter.
|
||||||
|
The default value of this parameter is "/init". If the specified
|
||||||
|
file exists and the kernel can execute it, root filesystem related
|
||||||
|
kernel command line parameters, including `nfsroot=', are ignored.
|
||||||
|
|
||||||
|
A description of the process of mounting the root file system can be
|
||||||
|
found in:
|
||||||
|
|
||||||
|
Documentation/early-userspace/README
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
3.) Boot Loader
|
3.) Boot Loader
|
||||||
|
|
|
@ -1532,12 +1532,15 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
1 to enable accounting
|
1 to enable accounting
|
||||||
Default value is 0.
|
Default value is 0.
|
||||||
|
|
||||||
nfsaddrs= [NFS]
|
nfsaddrs= [NFS] Deprecated. Use ip= instead.
|
||||||
See Documentation/filesystems/nfs/nfsroot.txt.
|
See Documentation/filesystems/nfs/nfsroot.txt.
|
||||||
|
|
||||||
nfsroot= [NFS] nfs root filesystem for disk-less boxes.
|
nfsroot= [NFS] nfs root filesystem for disk-less boxes.
|
||||||
See Documentation/filesystems/nfs/nfsroot.txt.
|
See Documentation/filesystems/nfs/nfsroot.txt.
|
||||||
|
|
||||||
|
nfsrootdebug [NFS] enable nfsroot debugging messages.
|
||||||
|
See Documentation/filesystems/nfs/nfsroot.txt.
|
||||||
|
|
||||||
nfs.callback_tcpport=
|
nfs.callback_tcpport=
|
||||||
[NFS] set the TCP port on which the NFSv4 callback
|
[NFS] set the TCP port on which the NFSv4 callback
|
||||||
channel should listen.
|
channel should listen.
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
* NFS over TCP.
|
* NFS over TCP.
|
||||||
* Fabian Frederick: Option parser rebuilt (using parser lib)
|
* Fabian Frederick: Option parser rebuilt (using parser lib)
|
||||||
* Chuck Lever : Use super.c's text-based mount option parsing
|
* Chuck Lever : Use super.c's text-based mount option parsing
|
||||||
|
* Chuck Lever : Add "nfsrootdebug".
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
@ -80,8 +81,6 @@
|
||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
/* Define this to allow debugging output */
|
|
||||||
#undef NFSROOT_DEBUG
|
|
||||||
#define NFSDBG_FACILITY NFSDBG_ROOT
|
#define NFSDBG_FACILITY NFSDBG_ROOT
|
||||||
|
|
||||||
/* Default path we try to mount. "%s" gets replaced by our IP address */
|
/* Default path we try to mount. "%s" gets replaced by our IP address */
|
||||||
|
@ -102,6 +101,18 @@ static char nfs_export_path[NFS_MAXPATHLEN + 1] __initdata = "";
|
||||||
/* server:export path string passed to super.c */
|
/* server:export path string passed to super.c */
|
||||||
static char nfs_root_device[NFS_MAXPATHLEN + 1] __initdata = "";
|
static char nfs_root_device[NFS_MAXPATHLEN + 1] __initdata = "";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When the "nfsrootdebug" kernel command line option is specified,
|
||||||
|
* enable debugging messages for NFSROOT.
|
||||||
|
*/
|
||||||
|
static int __init nfs_root_debug(char *__unused)
|
||||||
|
{
|
||||||
|
nfs_debug |= NFSDBG_ROOT | NFSDBG_MOUNT;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
__setup("nfsrootdebug", nfs_root_debug);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse NFS server and directory information passed on the kernel
|
* Parse NFS server and directory information passed on the kernel
|
||||||
* command line.
|
* command line.
|
||||||
|
@ -282,10 +293,6 @@ out_devnametoolong:
|
||||||
*/
|
*/
|
||||||
int __init nfs_root_data(char **root_device, char **root_data)
|
int __init nfs_root_data(char **root_device, char **root_data)
|
||||||
{
|
{
|
||||||
#ifdef NFSROOT_DEBUG
|
|
||||||
nfs_debug |= NFSDBG_ROOT | NFSDBG_MOUNT;
|
|
||||||
#endif /* NFSROOT_DEBUG */
|
|
||||||
|
|
||||||
servaddr = root_server_addr;
|
servaddr = root_server_addr;
|
||||||
if (servaddr == htonl(INADDR_NONE)) {
|
if (servaddr == htonl(INADDR_NONE)) {
|
||||||
printk(KERN_ERR "Root-NFS: no NFS server address\n");
|
printk(KERN_ERR "Root-NFS: no NFS server address\n");
|
||||||
|
|
Loading…
Add table
Reference in a new issue