[PATCH] RAID autorun fix (fwd)

From: Matthew Kirkwood (matthew@hairy.beasts.org)
Date: Thu Sep 21 2000 - 17:59:46 EST


Tsk, forgot the cc.

---------- Forwarded message ----------
Date: Thu, 21 Sep 2000 23:59:09 +0100 (BST)
From: Matthew Kirkwood <matthew@hairy.beasts.org>
To: Linus Torvalds <torvalds@transmeta.com>
Subject: [PATCH] RAID autorun fix

Hi,

The attached diff makes RAID autorun work for me.

It transpired that the failed initialisation was not
an init order thing, but more related to that fact
that md.c wasn't using the new init scheme at all.

I'm not 100% sure that the last bit (which affects
initrds which I don't use) is correct, so you may
want to leave that as-is.

Cheers,
Matthew.

diff -ruN linux-2.4.0-test9pre5/drivers/block/ll_rw_blk.c linux/drivers/block/ll_rw_blk.c
--- linux-2.4.0-test9pre5/drivers/block/ll_rw_blk.c Thu Sep 21 23:47:12 2000
+++ linux/drivers/block/ll_rw_blk.c Thu Sep 21 22:00:31 2000
@@ -1130,9 +1130,6 @@
 #ifdef CONFIG_SJCD
         sjcd_init();
 #endif CONFIG_SJCD
-#ifdef CONFIG_BLK_DEV_MD
- md_init();
-#endif CONFIG_BLK_DEV_MD
 #ifdef CONFIG_APBLOCK
         ap_init();
 #endif
diff -ruN linux-2.4.0-test9pre5/drivers/md/md.c linux/drivers/md/md.c
--- linux-2.4.0-test9pre5/drivers/md/md.c Thu Sep 21 23:47:12 2000
+++ linux/drivers/md/md.c Thu Sep 21 22:44:25 2000
@@ -34,6 +34,8 @@
 #include <linux/raid/xor.h>
 #include <linux/devfs_fs_kernel.h>
 
+#include <linux/init.h>
+
 #ifdef CONFIG_KMOD
 #include <linux/kmod.h>
 #endif
@@ -3844,6 +3846,11 @@
         free_device_names();
 
 }
+#endif
+
+__initcall(md_init);
+#ifdef CONFIG_AUTODETECT_RAID
+__initcall(md_run_setup);
 #endif
 
 MD_EXPORT_SYMBOL(md_size);
diff -ruN linux-2.4.0-test9pre5/fs/partitions/check.c linux/fs/partitions/check.c
--- linux-2.4.0-test9pre5/fs/partitions/check.c Sun Sep 10 12:36:06 2000
+++ linux/fs/partitions/check.c Thu Sep 21 22:42:22 2000
@@ -439,9 +439,6 @@
 #endif
         rd_load();
 #endif
-#ifdef CONFIG_BLK_DEV_MD
- md_run_setup();
-#endif
         return 0;
 }
 
diff -ruN linux-2.4.0-test9pre5/init/main.c linux/init/main.c
--- linux-2.4.0-test9pre5/init/main.c Sun Sep 10 12:36:06 2000
+++ linux/init/main.c Thu Sep 21 22:42:02 2000
@@ -727,9 +727,6 @@
                         while (pid != wait(&i));
                 if (MAJOR(real_root_dev) != RAMDISK_MAJOR
                      || MINOR(real_root_dev) != 0) {
-#ifdef CONFIG_BLK_DEV_MD
- md_run_setup();
-#endif
                         error = change_root(real_root_dev,"/initrd");
                         if (error)
                                 printk(KERN_ERR "Change root to /initrd: "

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 23 2000 - 21:00:25 EST