Bug 13044

Summary: 2.6.30-rc1 can't find the root fs
Product: IO/Storage Reporter: Heinz Diehl (htd)
Component: Serial ATAAssignee: Jeff Garzik (jgarzik)
Status: CLOSED DUPLICATE    
Severity: blocking CC: htd, rjw
Priority: P1    
Hardware: x86-64   
OS: Linux   
Kernel Version: 2.6.30-rc1 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 13070    
Attachments: Screen photo

Description Heinz Diehl 2009-04-08 13:35:53 UTC
2.6.30-rc1 is not able to find the root filesystem on my machine.
Never ever had this problem before, 2.6.29.1 and above do work ok.

The only lines I'm able to capture are the last ones, where it halts:
[....]
ata4: SATA link down (SStatus 0 Control 300)
ata6: SATA link down (SStatus 0 Control 300)
Could not find /dev/mapper/root
...exiting to /bin/sh

Unfortunately, I can't provide more output since there is no log or whatsoever.
Comment 1 Heinz Diehl 2009-04-08 15:38:20 UTC
Created attachment 20889 [details]
Screen photo
Comment 2 Heinz Diehl 2009-04-08 18:04:01 UTC
This patch solves the problem for me:

From: Ingo Molnar <mingo@elte.hu>
Date: Wed, 8 Apr 2009 08:52:44 +0200
Subject: [PATCH] Revert "async: remove the temporary (2.6.29) "async is off by default" code"

This reverts commit 9710794383ee5008d67f1a6613a4717bf6de47bc.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 kernel/async.c |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/kernel/async.c b/kernel/async.c
index 968ef94..f565891 100644
--- a/kernel/async.c
+++ b/kernel/async.c
@@ -49,7 +49,6 @@ asynchronous and synchronous parts of the kernel.
 */
 
 #include <linux/async.h>
-#include <linux/bug.h>
 #include <linux/module.h>
 #include <linux/wait.h>
 #include <linux/sched.h>
@@ -388,11 +387,20 @@ static int async_manager_thread(void *unused)
 
 static int __init async_init(void)
 {
-	async_enabled =
-		!IS_ERR(kthread_run(async_manager_thread, NULL, "async/mgr"));
-
-	WARN_ON(!async_enabled);
+	if (async_enabled)
+		if (IS_ERR(kthread_run(async_manager_thread, NULL,
+				       "async/mgr")))
+			async_enabled = 0;
 	return 0;
 }
 
+static int __init setup_async(char *str)
+{
+	async_enabled = 1;
+	return 1;
+}
+
+__setup("fastboot", setup_async);
+
+
 core_initcall(async_init);
Comment 3 Rafael J. Wysocki 2009-04-11 20:51:31 UTC
Please don't close until the bug is fixed in the Linus' tree.
Comment 4 Heinz Diehl 2009-04-11 21:01:50 UTC
commit	d6de2c80e9d758d2e36c21699117db6178c0f517
"async: Fix module loading async-work regression"

is now in Linus' tree and fixes this.

*** This bug has been marked as a duplicate of bug 13063 ***
Comment 5 Rafael J. Wysocki 2009-04-17 21:30:02 UTC
On Friday 17 April 2009, Linus Torvalds wrote:
> 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=13044
> > Subject             : 2.6.30-rc1 can't find the root fs
> > Submitter   : Heinz Diehl <htd@fancy-poultry.org>
> > Date                : 2009-04-08 13:35 (9 days old)
> 
> This was one of the async things that got fixed by just waiting for module 
> async work to finish.