[[email protected]: ROOT NFS fixes now for -pre9]
Subsystems (4)
Just a reminder, because I got no reply whatsoever ...
------------------------------------------------------------
I'm sure you're a busy man, but please have a look at the attached patch, which addresses the root=/dev/wossname issue, when ROOT_NFS is configured. IMHO this is a NFS only issue, and fixes an erroneous behaviour.
if it seems okay to you, please let Marcelo know, so he could add this patch to the next -pre kernel
MTIA,
Herbert
PS: I hope this will make it into 2.4.22-pre9 ...
fs/nfs/nfsroot.c +1 -1
@@ -305,7 +305,7 @@*/ int __init nfs_root_setup (char *line) { -ROOT_DEV =MKDEV (UNNAMED_MAJOR ,255 ); +ROOT_DEV =MKDEV (NFS_MAJOR ,NFS_MINOR );if (line[0 ] =='/' || line[0 ] ==',' || (line[0 ] >='0' && line[0 ] <='9' )) {strncpy (nfs_root_name, line,sizeof (nfs_root_name)); nfs_root_name[sizeof (nfs_root_name)-1 ] ='\0' ;
include/linux/nfs.h +3 -0
@@ -30,6 +30,9 @@#define NFS_MNT_PROGRAM 100005#define NFS_MNT_PORT 627 +#define NFS_MAJOR UNNAMED_MAJOR +#define NFS_MINOR 0xff +/* * NFS stats. The good thing with these values is that NFSv3 errors are * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
init/do_mounts.c +3 -2
@@ -88,7 +88,7 @@const char *name;const int num; } root_dev_names[] __initdata = { - { "nfs", 0x00ff }, + { "nfs", MKDEV(NFS_MAJOR, NFS_MINOR) }, { "hda", 0x0300 }, { "hdb", 0x0340 }, { "loop", 0x0700 },
@@ -759,7 +759,8 @@static void __init mount_root (void ) {#ifdef CONFIG_ROOT_NFS -if (MAJOR (ROOT_DEV ) ==UNNAMED_MAJOR ) { +if (MAJOR (ROOT_DEV ) ==NFS_MAJOR + &&MINOR (ROOT_DEV ) ==NFS_MINOR ) {if (mount_nfs_root ()) {sys_chdir ("/root" );ROOT_DEV = current->fs->pwdmnt->mnt_sb->s_dev;
net/ipv4/ipconfig.c +1 -1
@@ -1234,7 +1234,7 @@* -- Chip */ #ifdef CONFIG_ROOT_NFS -if (ROOT_DEV ==MKDEV (UNNAMED_MAJOR ,255 )) { +if (ROOT_DEV ==MKDEV (NFS_MAJOR ,NFS_MINOR )) {printk (KERN_ERR "IP-Config: Retrying forever (NFS root)...\n" ); goto try_try_again;
----- End forwarded message -----