Tsk, forgot the cc.


---------- Forwarded message ----------
Date: Thu, 21 Sep 2000 23:59:09 +0100 (BST)
From: Matthew Kirkwood <[EMAIL PROTECTED]>
To: Linus Torvalds <[EMAIL PROTECTED]>
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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to