[PATCH] Bug in initrd-handling still there in 2.4.22-pre7

From: martin@kfib.org
Date: Wed Jul 23 2003 - 09:16:56 EST


>From original posting (2 weeks ago):

> At work we've encountered a problem when trying to netboot 2.4.21.
> After /linuxrc has been executed and the kernel tries to remount the
> root, it panics with the all too well known message "Unable to mount
> root fs on ...".
>
> The kernel bugs out in mount_block_root in the file init/do_mounts.c,
> to be more precise in the for-loop. What happens is that it tries to
> mount the file system as type ext2 (which happens to be first in the
> list in our case), but instead of returning -EINVAL it returns -EBUSY,
> the loop exits instead of trying the next (correct) fs-type and the
> kernel panics.

Patch for 2.4.22-pre7:

--- linux-2.4.22-pre7/init/do_mounts.c.orig Wed Jul 23 16:16:51 2003
+++ linux-2.4.22-pre7/init/do_mounts.c Wed Jul 23 16:16:54 2003
@@ -360,6 +360,7 @@
                                flags |= MS_RDONLY;
                                goto retry;
                        case -EINVAL:
+ case -EBUSY:
                                continue;
                }
                /*

It's been broken since 2.4.19, so I definitely think it's about time it
gets fixed. ;>

-- 
Martin Persson           martin@kfib.org
http://martin.kfib.org/  http://ss.kfib.org/

"esound is junk. The only thing esd has is a good client API for going boing at approximately the right time. Anything else is beyond it." -- Alan Cox - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:49 EST