Subject: Re: Funny -> ATA drive read error
To: Charles M. Hannum <abuse@spamalicious.com>
From: Markus W Kilbinger <kilbi@rad.rwth-aachen.de>
List: netbsd-users
Date: 06/04/2004 21:16:30
>>>>> "Charles" == Charles M Hannum <abuse@spamalicious.com> 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,

Markus.