On Fri, 14 Sep 2012 09:16:20 +0200 (CEST) Mikael Abrahamsson
[off-list ref] wrote:
On Thu, 13 Sep 2012, Chris Murphy wrote:
quoted
"check" records errors, no action is taken by the md driver to correct
it, although the disk firmware itself may try reallocation. So far, that
appears to not be the case.
"repair" causes the md driver to write correct data (from copy or
reconstructed from parity), which should force the disk firmware to
reallocate the affected LBAs from bad physical sectors to good ones.
It seems in this case "repair" is indicated.
I was under the impression that "check" would check if all data blocks and
parity are correct, and record if there is a parity mismatch. This would
then be corrected by using "repair" at a later time.
I was also under the impression that if there was a read error on a drive
during "check", that read error would be corrected using parity because
it's obviously a hard error, not a logical error.
Both of your impressions are correct.
NeilBrown
Could you (or someone else) please confirm that my impression is wrong and
if there indeed is a hard read error using "check", this will not be
corrected? I would be interested in knowing why this decision was taken to
have this behaviour, as I feel that if there is a hard read error, this
should always be corrected using parity.