warning: fix init do_mounts_md c
[pandora-kernel.git] / init / do_mounts_md.c
index 1ec5c41..c0dfd3c 100644 (file)
@@ -264,26 +264,32 @@ static int __init raid_setup(char *str)
 __setup("raid=", raid_setup);
 __setup("md=", md_setup);
 
+static void autodetect_raid(void)
+{
+       int fd;
+
+       /*
+        * Since we don't want to detect and use half a raid array, we need to
+        * wait for the known devices to complete their probing
+        */
+       printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
+       printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");
+       while (driver_probe_done() < 0)
+               msleep(100);
+       fd = sys_open("/dev/md0", 0, 0);
+       if (fd >= 0) {
+               sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
+               sys_close(fd);
+       }
+}
+
 void __init md_run_setup(void)
 {
        create_dev("/dev/md0", MKDEV(MD_MAJOR, 0));
 
        if (raid_noautodetect)
                printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n");
-       else {
-               /* 
-                * Since we don't want to detect and use half a raid array, we need to
-                * wait for the known devices to complete their probing
-                */
-               printk(KERN_INFO "md: Waiting for all devices to be available before autodetect\n");
-               printk(KERN_INFO "md: If you don't use raid, use raid=noautodetect\n");
-               while (driver_probe_done() < 0)
-                       msleep(100);
-               int fd = sys_open("/dev/md0", 0, 0);
-               if (fd >= 0) {
-                       sys_ioctl(fd, RAID_AUTORUN, raid_autopart);
-                       sys_close(fd);
-               }
-       }
+       else
+               autodetect_raid();
        md_setup_drive();
 }