diff options
author | Alexander Viro <viro@math.psu.edu> | 2002-11-14 19:37:12 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-11-14 19:37:12 -0800 |
commit | 40fa9470e94cb8301879c5500631db68505e5df1 (patch) | |
tree | 4a74bbc19ae221e08d804055ed97b948c74d6e23 /init | |
parent | 739659ccd2dd5c471ae521d7515899ddf957def7 (diff) | |
download | history-40fa9470e94cb8301879c5500631db68505e5df1.tar.gz |
[PATCH] late-boot fixes
Grrr... Two bugs in a patch that had moved md setup to late boot:
a) we need md_run_setup() run before parsing root name.
b) it's create_dev("/dev/md0",...), not create_dev("md0",...) ;-/
Diffstat (limited to 'init')
-rw-r--r-- | init/do_mounts.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c index 3c15c79ae70847..faa2394662052f 100644 --- a/init/do_mounts.c +++ b/init/do_mounts.c @@ -844,6 +844,14 @@ static void __init md_run_setup(void); void prepare_namespace(void) { int is_floppy; + +#ifdef CONFIG_DEVFS_FS + sys_mount("devfs", "/dev", "devfs", 0, NULL); + do_devfs = 1; +#endif + + md_run_setup(); + if (saved_root_name[0]) { char *p = saved_root_name; ROOT_DEV = name_to_dev_t(p); @@ -851,20 +859,15 @@ void prepare_namespace(void) p += 5; strcpy(root_device_name, p); } + is_floppy = MAJOR(ROOT_DEV) == FLOPPY_MAJOR; + #ifdef CONFIG_BLK_DEV_INITRD if (!initrd_start) mount_initrd = 0; real_root_dev = ROOT_DEV; #endif -#ifdef CONFIG_DEVFS_FS - sys_mount("devfs", "/dev", "devfs", 0, NULL); - do_devfs = 1; -#endif - - md_run_setup(); - create_dev("/dev/root", ROOT_DEV, NULL); /* This has to be before mounting root, because even readonly mount of reiserfs would replay @@ -1277,7 +1280,7 @@ __setup("md=", md_setup); static void __init md_run_setup(void) { #ifdef CONFIG_BLK_DEV_MD - create_dev("md0", MKDEV(MD_MAJOR, 0), "md/0"); + create_dev("/dev/md0", MKDEV(MD_MAJOR, 0), "md/0"); if (raid_setup_args.noautodetect) printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n"); else { |