--- a/linux-2.6.10/drivers/md/md.c 2005-01-15 07:52:14.000000000 -0600 +++ b/linux-2.6.10/drivers/md/md.c 2005-01-15 07:52:14.000000000 -0600 @@ -939,9 +939,13 @@ sb->resync_offset = cpu_to_le64(0); max_dev = 0; - ITERATE_RDEV(mddev,rdev2,tmp) + i = 0; + ITERATE_RDEV(mddev,rdev2,tmp) { + i++; if (rdev2->desc_nr > max_dev) max_dev = rdev2->desc_nr; + } + max_dev = max(max_dev, i); sb->max_dev = cpu_to_le32(max_dev); for (i=0; irecovery_offset = cpu_to_le64(0); /* not supported yet */ + sb->sb_csum = calc_sb_1_csum(sb); }