Skip to contentSkip to conversation

Patch "init: don't try mounting device as nfs root unless type fully matches" has been added to the 3.3-stable tree

PATCH [email protected] 1 participant 1 message May 18, 2012

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

init: don't try mounting device as nfs root unless type fully matches

to the 3.3-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
init-don-t-try-mounting-device-as-nfs-root-unless-type-fully-matches.patch
and it can be found in the queue-3.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 377485f6244af255b04d662cf19cddbbc4ae4310 Mon Sep 17 00:00:00 2001

From: Sasha Levin <[email protected]>
Date: Sat, 5 May 2012 17:06:35 +0200
Subject: init: don't try mounting device as nfs root unless type fully matches

From: Sasha Levin <[email protected]>

commit 377485f6244af255b04d662cf19cddbbc4ae4310 upstream.

Currently, we'll try mounting any device who's major device number is UNNAMED_MAJOR as NFS root. This would happen for non-NFS devices as well (such as 9p devices) but it wouldn't cause any issues since mounting the device as NFS would fail quickly and the code proceeded to doing the proper mount:

       [  101.522716] VFS: Unable to mount root fs via NFS, trying floppy.
       [  101.534499] VFS: Mounted root (9p filesystem) on device 0:18.

Commit 6829a048102a ("NFS: Retry mounting NFSROOT") introduced retries when mounting NFS root, which means that now we don't immediately fail and instead it takes an additional 90+ seconds until we stop retrying, which has revealed the issue this patch fixes.

This meant that it would take an additional 90 seconds to boot when we're not using a device type which gets detected in order before NFS.

This patch modifies the NFS type check to require device type to be 'Root_NFS' instead of requiring the device to have an UNNAMED_MAJOR major. This makes boot process cleaner since we now won't go through the NFS mounting code at all when the device isn't an NFS root ("/dev/nfs").

---
 init/do_mounts.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
init/do_mounts.c +1 -1
@@ -472,7 +472,7 @@ void __init change_floppy(char *fmt, ...
 void __init mount_root(void)
 {
 #ifdef CONFIG_ROOT_NFS
-	if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
+	if (ROOT_DEV == Root_NFS) {
 		if (mount_nfs_root())
 			return;
 

Patches currently in stable-queue which might be from [email protected] are

queue-3.3/init-don-t-try-mounting-device-as-nfs-root-unless-type-fully-matches.patch