public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Drake <dsd@gentoo.org>
To: Joseph Fannin <jhf@rivenstone.net>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, Neil Brown <neilb@cse.unsw.edu.au>,
	William Park <opengeometry@yahoo.ca>,
	wli@holomorphy.com
Subject: Re: 2.6.11-rc1-mm1
Date: Sun, 16 Jan 2005 21:09:25 +0000	[thread overview]
Message-ID: <41EAD805.70807@gentoo.org> (raw)
In-Reply-To: <20050116005930.GA2273@zion.rivenstone.net>

[-- Attachment #1: Type: text/plain, Size: 567 bytes --]

Hi,

Joseph Fannin wrote:
> On Fri, Jan 14, 2005 at 12:23:52AM -0800, Andrew Morton wrote:
> 
>>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.11-rc1/2.6.11-rc1-mm1/
> 
> 
>>waiting-10s-before-mounting-root-filesystem.patch
>>  retry mounting the root filesystem at boot time
> 
> 
>     With this patch, initrds seem to get 'skipped'.  I think this is
> probably the cause for the reports of problems with RAID too.

This patch should do the job. Replaces the existing 
waiting-10s-before-mounting-root-filesystem.patch in 2.6.11-rc1-mm1.

Daniel

[-- Attachment #2: waiting-10s-before-mounting-root-filesystem.patch --]
[-- Type: text/x-patch, Size: 2910 bytes --]

Retry up to 20 times if mounting the root device fails.  This fixes booting
from usb-storage devices, which no longer make their partitions immediately
available. Also cleans up the mount_block_root() function.

Based on an earlier patch from William Park <opengeometry@yahoo.ca>

Signed-off-by: Daniel Drake <dsd@gentoo.org>

--- linux-2.6.10/init/do_mounts.c.orig	2005-01-16 19:18:57.000000000 +0000
+++ linux-2.6.10/init/do_mounts.c	2005-01-16 21:04:29.198471440 +0000
@@ -6,6 +6,7 @@
 #include <linux/suspend.h>
 #include <linux/root_dev.h>
 #include <linux/security.h>
+#include <linux/delay.h>
 
 #include <linux/nfs_fs.h>
 #include <linux/nfs_fs_sb.h>
@@ -261,6 +262,9 @@ static void __init get_fs_names(char *pa
 static int __init do_mount_root(char *name, char *fs, int flags, void *data)
 {
 	int err = sys_mount(name, "/root", fs, flags, data);
+	if (err == -EACCES && (flags | MS_RDONLY) == 0)
+		err = sys_mount(name, "/root", fs, flags | MS_RDONLY, data);
+
 	if (err)
 		return err;
 
@@ -273,38 +277,57 @@ static int __init do_mount_root(char *na
 	return 0;
 }
 
+static int __init mount_root_try_all_fs(char *name, char *fs_names, int flags, void *data)
+{
+	char *p;
+	int err = -EFAULT;
+
+	for (p = fs_names; *p; p += strlen(p)+1) {
+		err = do_mount_root(name, p, flags, root_mount_data);
+		if (err != -EINVAL)
+			break;
+	}
+
+	return err;
+}
+
 void __init mount_block_root(char *name, int flags)
 {
 	char *fs_names = __getname();
-	char *p;
 	char b[BDEVNAME_SIZE];
+	int tryagain = 20;
 
 	get_fs_names(fs_names);
-retry:
-	for (p = fs_names; *p; p += strlen(p)+1) {
-		int err = do_mount_root(name, p, flags, root_mount_data);
-		switch (err) {
-			case 0:
-				goto out;
-			case -EACCES:
-				flags |= MS_RDONLY;
-				goto retry;
-			case -EINVAL:
-				continue;
+
+	while (1) {
+		int err = mount_root_try_all_fs(name, fs_names, flags, root_mount_data);
+		if (err == 0)
+			break;
+
+		/*
+		 * The root device may not be ready yet, so we retry a number of times
+		 */
+		if (--tryagain) {
+			printk(KERN_WARNING "VFS: Waiting %dsec for root device...\n",
+			       tryagain);
+			ssleep(1);
+			if (!ROOT_DEV) {
+				ROOT_DEV = name_to_dev_t(saved_root_name);
+				create_dev(name, ROOT_DEV, root_device_name);
+			}
+			continue;
 		}
-	        /*
+
+		/*
 		 * Allow the user to distinguish between failed sys_open
 		 * and bad superblock on root device.
 		 */
 		__bdevname(ROOT_DEV, b);
-		printk("VFS: Cannot open root device \"%s\" or %s\n",
-				root_device_name, b);
-		printk("Please append a correct \"root=\" boot option\n");
-
+		printk(KERN_CRIT "VFS: Cannot open root device \"%s\" or %s\n",
+		       root_device_name, b);
+		printk(KERN_CRIT "Please append a correct \"root=\" boot option\n");
 		panic("VFS: Unable to mount root fs on %s", b);
 	}
-	panic("VFS: Unable to mount root fs on %s", __bdevname(ROOT_DEV, b));
-out:
 	putname(fs_names);
 }
  

  parent reply	other threads:[~2005-01-16 18:46 UTC|newest]

Thread overview: 142+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-14  8:23 2.6.11-rc1-mm1 Andrew Morton
2005-01-14  8:47 ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-14  9:27   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 10:27   ` 2.6.11-rc1-mm1 Nikita Danilov
2005-01-14 10:38     ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-14 11:06       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 15:31         ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-14 21:11           ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 22:58             ` 2.6.11-rc1-mm1 Tim Bird
2005-01-15  0:20               ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-15  4:25               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15  1:06             ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-15  4:18               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16  2:38                 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-16  6:00                   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 16:52                     ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-16 21:18                       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17  1:37                         ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17  2:24                           ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 12:20                             ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 20:32                               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 22:31                                 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 22:42                                   ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-17 23:26                                     ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-17 23:41                                   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18  0:02                                     ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-18  3:05                                       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 13:54                         ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-17 21:27                           ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 23:57                             ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18  4:03                               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18  4:30                                 ` 2.6.11-rc1-mm1 Aaron Cohen
2005-01-18  4:46                                   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18  8:07                                     ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-18 16:40                                       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18 19:37                                         ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-18 15:31                                 ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-21  6:26                                   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-21 22:23                                     ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-23  7:43                                       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-23  7:52                                         ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-23  8:28                                         ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-24  0:38                                         ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-25  9:12                                           ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-18  1:13                             ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18  2:52                               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-17 17:02                         ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-16 19:05                     ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-19 11:14                       ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-19 16:53                         ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-16 16:14             ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 19:47               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:30               ` 2.6.11-rc1-mm1 Tom Zanussi
2005-01-19 11:11                 ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-14 15:24   ` 2.6.11-rc1-mm1 Roman Zippel
2005-01-18 11:19   ` 2.6.11-rc1-mm1 Masami Hiramatsu
2005-01-18 11:46     ` 2.6.11-rc1-mm1 Andi Kleen
2005-01-18 14:52       ` [Lkst-develop] 2.6.11-rc1-mm1 Masami Hiramatsu
2005-01-14 12:36 ` 2.6.11-rc1-mm1 Miklos Szeredi
2005-01-14 13:04 ` 2.6.11-rc1-mm1 Kasper Sandberg
2005-01-14 18:35   ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-14 19:08     ` 2.6.11-rc1-mm1 Rogério Brito
2005-01-14 19:41     ` 2.6.11-rc1-mm1 Peter Buckingham
2005-01-17 17:04     ` 2.6.11-rc1-mm1 Matthias Urlichs
2005-01-14 19:02   ` 2.6.11-rc1-mm1 Bill Davidsen
2005-01-14 15:07 ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-14 16:56   ` 2.6.11-rc1-mm1 Dave Jones
2005-01-14 17:55     ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-19 23:06   ` 2.6.11-rc1-mm1 Marcos D. Marado Torres
2005-01-19 23:54     ` 2.6.11-rc1-mm1 Barry K. Nathan
2005-01-14 15:35 ` 2.6.11-rc1-mm1 Zwane Mwaikambo
2005-01-14 22:03   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-14 17:35 ` [patch] 2.6.11-rc1-mm1: ip_tables.c: ipt_find_target must be EXPORT_SYMBOL'ed Adrian Bunk
2005-01-14 17:43   ` Patrick McHardy
2005-01-14 22:41 ` 2.6.11-rc1-mm1 Tim Bird
2005-01-14 22:46 ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-14 23:22   ` 2.6.11-rc1-mm1 Tim Bird
2005-01-15  0:24     ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15  1:27       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 16:18       ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-15 13:08     ` [RFC] Instrumentation (was Re: 2.6.11-rc1-mm1) Thomas Gleixner
2005-01-16  2:09       ` Karim Yaghmour
2005-01-16  3:11         ` Roman Zippel
2005-01-16  4:23           ` Karim Yaghmour
2005-01-16 23:43             ` Thomas Gleixner
2005-01-17  1:54               ` Karim Yaghmour
2005-01-17 10:26                 ` Thomas Gleixner
2005-01-17 20:34                   ` Karim Yaghmour
2005-01-17 22:18                     ` Thomas Gleixner
2005-01-17 23:57                       ` Karim Yaghmour
2005-01-18  8:46                         ` Thomas Gleixner
2005-01-18 16:31                           ` Karim Yaghmour
2005-01-19  7:13                 ` Werner Almesberger
2005-01-19 17:38                   ` Karim Yaghmour
2005-01-14 22:48 ` 2.6.11-rc1-mm1 Andre Eisenbach
2005-01-15  8:42   ` 2.6.11-rc1-mm1 Miklos Szeredi
2005-01-15  8:45   ` 2.6.11-rc1-mm1 Miklos Szeredi
     [not found] ` <1105740276.8604.83.camel@tglx.tec.linutronix.de>
2005-01-14 23:09   ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15  0:01     ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15  0:26       ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-15  1:00         ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-15  1:25           ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15 10:20             ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-16  4:13               ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 15:19                 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-15  1:14       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-15  9:57         ` 2.6.11-rc1-mm1 Thomas Gleixner
2005-01-16 16:21     ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 19:49       ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:11         ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-16 20:32           ` 2.6.11-rc1-mm1 Andrew Morton
2005-01-16 21:06             ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-16 21:40               ` 2.6.11-rc1-mm1 Arjan van de Ven
2005-01-17 15:48                 ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-17 16:13                   ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-17 21:38                     ` 2.6.11-rc1-mm1 Karim Yaghmour
2005-01-16 20:39           ` 2.6.11-rc1-mm1 Christoph Hellwig
2005-01-16 21:14             ` 2.6.11-rc1-mm1 Robert Wisniewski
2005-01-15  2:58 ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-17 22:19   ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-16  0:59 ` 2.6.11-rc1-mm1 Joseph Fannin
2005-01-16 19:09   ` 2.6.11-rc1-mm1 Daniel Drake
2005-01-16 19:20     ` 2.6.11-rc1-mm1 William Lee Irwin III
2005-01-16 21:09   ` Daniel Drake [this message]
2005-01-17 23:31     ` 2.6.11-rc1-mm1 J.A. Magallon
2005-01-18  2:35       ` 2.6.11-rc1-mm1 Daniel Drake
2005-01-18  2:54   ` [PATCH] Wait and retry mounting root device (revised) Daniel Drake
2005-01-18  0:34     ` Al Viro
2005-01-18  0:02       ` Randy.Dunlap
2005-01-18  8:05         ` Andries Brouwer
2005-01-18  8:28         ` Helge Hafting
2005-01-18  8:49           ` Andrew Morton
2005-01-18 13:20             ` Helge Hafting
2005-01-20 20:55             ` [PATCH] Configurable delay before mounting root device Daniel Drake
2005-01-20 20:24               ` Andrew Morton
2005-01-21 18:15                 ` Daniel Drake
2005-01-20 22:49               ` William Park
2005-01-18  1:03       ` [PATCH] Wait and retry mounting root device (revised) William Park
2005-01-19  0:43         ` Werner Almesberger
2005-01-18  8:02     ` Andries Brouwer
2005-01-19 20:11       ` Frank van Maarseveen
  -- strict thread matches above, loose matches on Subject: below --
2005-01-17  6:49 2.6.11-rc1-mm1 Prasanna S Panchamukhi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41EAD805.70807@gentoo.org \
    --to=dsd@gentoo.org \
    --cc=akpm@osdl.org \
    --cc=jhf@rivenstone.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@cse.unsw.edu.au \
    --cc=opengeometry@yahoo.ca \
    --cc=wli@holomorphy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox