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

Reply via email to