On Thursday 07 July 2011, Piotr Durlej wrote:
> 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
I've just commited both of these with slight modification, as r1.243 of
softraid.c - thanks!
--
"Reason is not automatic. Those who deny it cannot be conquered by it.
Do not count on them. Leave them alone." -- Ayn Rand