Bug 471
Summary: | Root on software raid don't boot on new 2.5 kernel since after 2.5.45 | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Troels Liebe Bentsen (tlb) |
Component: | MD | Assignee: | Daniele Venzano (venza) |
Status: | CLOSED CODE_FIX | ||
Severity: | high | CC: | eric |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.5.65 | Subsystem: | |
Regression: | --- | Bisected commit-id: |
Description
Troels Liebe Bentsen
2003-03-18 14:14:54 UTC
I'm getting the same, however at boot the kernel goes to autodetect the md's and finds nothing. In my case, am running raid1 on / with ext3 on Debian Unstable Sorry for the long wait, Yes is was using devfs and lilo, and that was the problem "/dev/md/2" vs. /dev/md2, but should it hang?, and also it looks like lilo resolves to some dev number, it then pases to the kernel when the root= option is used, but this number has apprently changed from 2.4 til 2.5, i don't know if this should be viewed as a kernel bug or just the realization that i should be useing grub instead. Also would there be any problem in still supporting lilo's way of doing things, ie. the device number thing. And for people who use a less broaken bootloader, why not allow them to use the old /dev/md[0-9] kind of root even if devfs support is compilled in, like in 2.4. This bug is still present on kernel 2.5.74. I have three RAID-1 md devices with the root on /dev/md2. Linux won't boot saying that he can't find /dev/md2 and that a correct root= parameter should be specified. The md devices get correctly autoprobed and activated before the boot stops. I've tried with devfs and GRUB (so it's not LILO related). I'll try without devfs and report if there'll be something new. Just tried 2.6.0-test1 without devfs and it works, so it seems a devfs problem. Will someone ever fix (or just look into) this bug ? I just don't know anything on that part of the kernel... Doesn't look like a bug to me. 2.4 devfs also uses /dev/md/0 /dev/md/1 /dev/md/2 etc This patch from Andrew Morton fixes the bug, with this the kernel boots fine with root=/dev/mdX as boot option. Thanks also to Andrey Borzenko who helped finding the problem. diff -puN init/do_mounts_devfs.c~read_dir-fix init/do_mounts_devfs.c --- 25/init/do_mounts_devfs.c~read_dir-fix 2003-07-28 00:21:40.000000000 -0700 +++ 25-akpm/init/do_mounts_devfs.c 2003-07-28 00:21:40.000000000 -0700 @@ -54,7 +54,7 @@ static void * __init read_dir(char *path if (fd < 0) return NULL; - for (size = 1 << 9; size <= (1 << MAX_ORDER); size <<= 1) { + for (size = 1 << 9; size <= (PAGE_SIZE << MAX_ORDER); size <<= 1) { void *p = kmalloc(size, GFP_KERNEL); int n; if (!p) |