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

Reply via email to