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 #include #include #include @@ -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");