Re: Software Raid not autodetected with bsd disklabel
On Sun, Aug 24, 2003 at 11:37:02AM -0700, MC wrote:
> Anyone have any ideas? And has anybody ever been able to boot to a raid
> array?
yes. i sent alan a patch a while ago, but he was worried about dec unix
possibly using 0xfd partition types. i don't remember exactly where it left
off, but iirc, i couldn't find anyone to authoritately say if it was used or
not. here's the patch i use for 2.4.
--
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: