In article
<cs.lists.linux-raid/[EMAIL PROTECTED]> you wrote:
> I am having trouble using Linux RAID on a Sun Ultra1 running
> 2.2.15.
You need an additional patch, just plain vanilla 2.2.15 + raid-0.90 won't
do on a sparc. Red Hat have it in their 2.2.14-12 source rpm, but I'm
attaching it here, for convenience.
Ion
--
It is better to keep your mouth shut and be thought a fool,
than to open it and remove all doubt.
-------------------------
--- linux/drivers/block/md.c.jj Mon Jan 24 11:36:42 2000
+++ linux/drivers/block/md.c Fri Feb 25 21:55:12 2000
@@ -827,16 +827,16 @@ static int sb_equal ( mdp_super_t *sb1,
int ret;
mdp_super_t *tmp1, *tmp2;
- tmp1 = kmalloc(sizeof(*tmp1),GFP_KERNEL);
- tmp2 = kmalloc(sizeof(*tmp2),GFP_KERNEL);
+ tmp1 = kmalloc(MD_SB_BYTES,GFP_KERNEL);
+ tmp2 = kmalloc(MD_SB_BYTES,GFP_KERNEL);
if (!tmp1 || !tmp2) {
ret = 0;
goto abort;
}
- *tmp1 = *sb1;
- *tmp2 = *sb2;
+ memcpy(tmp1, sb1, MD_SB_BYTES);
+ memcpy(tmp2, sb2, MD_SB_BYTES);
/*
* nr_disks is not constant
@@ -985,7 +985,7 @@ static int sync_sbs(mddev_t * mddev)
if (rdev->faulty)
continue;
sb = rdev->sb;
- *sb = *mddev->sb;
+ memcpy(sb, mddev->sb, MD_SB_BYTES);
set_this_disk(mddev, rdev);
sb->sb_csum = calc_sb_csum(sb);
}
@@ -1249,7 +1249,7 @@ static int analyze_sbs (mddev_t * mddev)
printk(OUT_OF_DATE);
printk("freshest: %s\n", partition_name(freshest->dev));
}
- memcpy (sb, freshest->sb, sizeof(*sb));
+ memcpy (sb, freshest->sb, MD_SB_BYTES);
/*
* at this point we have picked the 'best' superblock