[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] 2.4.19 osf partition raid autodetech



here it is, if anyone wants it. see my last post for why it isn't in the
kernel.

-- 
Tom Vier <tmv@comcast.net>
DSA Key ID 0xE6CB97DA
diff -urN linux-2.4.10-ac7-patched-build/fs/partitions/osf.c linux-2.4.10-ac7-patched-build-osf/fs/partitions/osf.c
--- linux-2.4.10-ac7-patched-build/fs/partitions/osf.c	Sat Oct  6 13:25:48 2001
+++ linux-2.4.10-ac7-patched-build-osf/fs/partitions/osf.c	Sat Oct  6 13:25:20 2001
@@ -7,6 +7,7 @@
  *  Re-organised Feb 1998 Russell King
  */
 
+#include <linux/config.h>
 #include <linux/fs.h>
 #include <linux/genhd.h>
 #include <linux/kernel.h>
@@ -17,6 +18,10 @@
 #include "check.h"
 #include "osf.h"
 
+#if CONFIG_BLK_DEV_MD
+extern void md_autodetect_dev(kdev_t dev);
+#endif
+
 int osf_partition(struct gendisk *hd, struct block_device *bdev,
 		unsigned long first_sector, int current_minor)
 {
@@ -74,10 +79,16 @@
 	for (i = 0 ; i < le16_to_cpu(label->d_npartitions); i++, partition++) {
 		if ((current_minor & mask) == 0)
 		        break;
-		if (le32_to_cpu(partition->p_size))
-			add_gd_partition(hd, current_minor,
-				first_sector+le32_to_cpu(partition->p_offset),
-				le32_to_cpu(partition->p_size));
+		if (le32_to_cpu(partition->p_size)) {
+				add_gd_partition(hd, current_minor,
+					first_sector+le32_to_cpu(partition->p_offset),
+					le32_to_cpu(partition->p_size));
+#if CONFIG_BLK_DEV_MD
+				if (partition->p_fstype == LINUX_RAID_PARTITION) {
+					md_autodetect_dev(MKDEV(hd->major,current_minor));
+				}
+#endif
+		}
 		current_minor++;
 	}
 	printk("\n");

Reply to: