All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] init: fix name of root device in /proc/mounts
@ 2013-01-31 22:51 William Hubbs
  2013-01-31 23:22 ` H. Peter Anvin
  2013-02-09 21:32 ` William Hubbs
  0 siblings, 2 replies; 22+ messages in thread
From: William Hubbs @ 2013-01-31 22:51 UTC (permalink / raw)
  To: linux-kernel; +Cc: mpagano, William Hubbs

On a system that does not use an initramfs, /dev/root was always
listed in /proc/mounts. This breaks software which scans /proc/mounts to
determine which file systems are mounted since /dev/root is not a valid
device name.

This changes that processing so that "/dev/root" is only added to
/proc/mounts if a root device is not specified with the root= option on
the kernel command line.

Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
---
 init/do_mounts.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/init/do_mounts.c b/init/do_mounts.c
index 1d1b634..efc37d2 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -480,7 +480,10 @@ void __init change_floppy(char *fmt, ...)
 	va_start(args, fmt);
 	vsprintf(buf, fmt, args);
 	va_end(args);
-	fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
+	if (saved_root_name[0])
+		fd = sys_open(saved_root_name, O_RDWR | O_NDELAY, 0);
+	else
+		fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
 	if (fd >= 0) {
 		sys_ioctl(fd, FDEJECT, 0);
 		sys_close(fd);
@@ -523,8 +526,13 @@ void __init mount_root(void)
 	}
 #endif
 #ifdef CONFIG_BLOCK
-	create_dev("/dev/root", ROOT_DEV);
-	mount_block_root("/dev/root", root_mountflags);
+	if (saved_root_name[0]) {
+		create_dev(saved_root_name, ROOT_DEV);
+		mount_block_root(saved_root_name, root_mountflags);
+	} else {
+		create_dev("/dev/root", ROOT_DEV);
+		mount_block_root("/dev/root", root_mountflags);
+	}
 #endif
 }
 
-- 
1.7.12.4


^ permalink raw reply related	[flat|nested] 22+ messages in thread
* [PATCH] init: fix name of root device in /proc/mounts
@ 2013-02-05 20:07 William Hubbs
  2013-02-05 20:10 ` William Hubbs
  0 siblings, 1 reply; 22+ messages in thread
From: William Hubbs @ 2013-02-05 20:07 UTC (permalink / raw)
  To: linux-next; +Cc: mpagano, William Hubbs

On a system that does not use an initramfs, /dev/root is always
listed in /proc/mounts. This breaks software which scans /proc/mounts to
determine which file systems are mounted since /dev/root is not a valid
device name.

This changes that processing so that "/dev/root" is only added to
/proc/mounts if a root device is not specified with the root= option on
the kernel command line.

Signed-off-by: William Hubbs <w.d.hubbs@gmail.com>
---
 init/do_mounts.c | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/init/do_mounts.c b/init/do_mounts.c
index 1d1b634..efc37d2 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -480,7 +480,10 @@ void __init change_floppy(char *fmt, ...)
 	va_start(args, fmt);
 	vsprintf(buf, fmt, args);
 	va_end(args);
-	fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
+	if (saved_root_name[0])
+		fd = sys_open(saved_root_name, O_RDWR | O_NDELAY, 0);
+	else
+		fd = sys_open("/dev/root", O_RDWR | O_NDELAY, 0);
 	if (fd >= 0) {
 		sys_ioctl(fd, FDEJECT, 0);
 		sys_close(fd);
@@ -523,8 +526,13 @@ void __init mount_root(void)
 	}
 #endif
 #ifdef CONFIG_BLOCK
-	create_dev("/dev/root", ROOT_DEV);
-	mount_block_root("/dev/root", root_mountflags);
+	if (saved_root_name[0]) {
+		create_dev(saved_root_name, ROOT_DEV);
+		mount_block_root(saved_root_name, root_mountflags);
+	} else {
+		create_dev("/dev/root", ROOT_DEV);
+		mount_block_root("/dev/root", root_mountflags);
+	}
 #endif
 }
 
-- 
1.7.12.4

^ permalink raw reply related	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-03-22  3:00 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-31 22:51 [PATCH] init: fix name of root device in /proc/mounts William Hubbs
2013-01-31 23:22 ` H. Peter Anvin
2013-02-01 17:14   ` William Hubbs
2013-02-01 19:03     ` H. Peter Anvin
2013-02-05  2:42   ` Rob Landley
2013-02-05  2:54     ` H. Peter Anvin
2013-02-05  4:19       ` William Hubbs
2013-03-17 22:23       ` William Hubbs
2013-03-19 22:28       ` William Hubbs
2013-03-19 23:17         ` H. Peter Anvin
2013-03-20  0:20           ` William Hubbs
2013-03-20  0:24             ` H. Peter Anvin
2013-03-20  7:03             ` Rob Landley
2013-03-20 15:02               ` H. Peter Anvin
2013-03-20 21:11               ` William Hubbs
2013-03-20 21:46                 ` Kay Sievers
2013-03-22  3:00                 ` Rob Landley
2013-02-09 21:32 ` William Hubbs
2013-02-05 20:07 William Hubbs
2013-02-05 20:10 ` William Hubbs
2013-02-05 21:45   ` Stephen Rothwell
2013-02-05 23:36     ` William Hubbs

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.