Subject: Re: Funny -> ATA drive read error
To: Charles M. Hannum <firstname.lastname@example.org>
From: Markus W Kilbinger <email@example.com>
Date: 06/04/2004 21:16:30
>>>>> "Charles" == Charles M Hannum <firstname.lastname@example.org> writes:
>> Strange thing: After the read error occured once no further
>> access (read and write) to the erroneous block (and afterwards)
>> is possible on a running system, further I only see
>> Input/Output error's for these blocks.
This happened on an actual netbsd-2-0 machine! -> Are -current and
-2-0 identical in this way?
Charles> This is a relatively new "feature," which I am likely to
Charles> remove soon, because it causes exactly the problem you
Charles> mentioned. (It also had another serious bug that I fixed
Charles> a few days ago -- it caused I/O to *other* blocks to
Charles> return EIO.)
Due to the 'autofixing' behavior of write attempts remembering former
read errors are even contra-productive in these cases. In most cases a
read attempt seems to be involved before a write is done (raid5
rebuild in my case; theses (repetitive) I/O errors lead to ata
downgrading and finally to (false?) failure of the accompanying ata
drive on the same ide bus)). (Why is a read error no reason to
(automatically) remap bad blocks on/for ata drives?)
Charles> Also, I recently (a few days ago) eliminated the
Charles> downgrading of transfer modes on most errors -- it's
Charles> pointless, and there's also no way to recover from that
Charles> without rebooting.
ATA stuff seems not to be very robust in error situations...
Thanks for the comments,