Hi,
these two simple patches allow an softraid(4) RAID 1 array to be
correctly rebuild.
http://www.durlej.net/sr-iosz.diff
http://www.durlej.net/sr-szal.diff
Without sr-iosz.diff, the system may incorrectly compute the offset of
the final transfer during rebuild. This will cause subsequent reads to
be unreliable. Also, as a result of this bug, data elsewhere on the
volume might become corrupted.
sr-szal.diff is for the case when the case when the volume size is
evenly divisible by 128. In this case the rebuild will fail, and the
kernel will produce the following error messages:
softraid0: rebuild of sd3 started on wd0f
softraid0: sr_raid1_rw: illegal block count for sd3
softraid0: could not create read io
Thanks,
Piotr