Re: Dying disk and filesystem choice.
Jonathan Lundell (email@example.com)
Thu, 24 May 2001 09:13:52 -0700
At 5:56 PM +0200 2001-05-24, Andi Kleen wrote:
>On Thu, May 24, 2001 at 08:50:04AM -0700, Jonathan Lundell wrote:
> > At 10:31 AM +0200 2001-05-24, Andi Kleen wrote:
>> >reiserfs doesn't, but the HD usually has transparently in its firmware.
>> >So it hits a bad block; you see an IO error and the next time you hit
>> >the block the firmware has mapped in a fresh one from its internal
>> Drives have remapping capability, but it's the first I've heard of HD
>> firmware doing it automatically. I'd be very interested in reading
>> the relevant documentation, if you could provide a pointer. Seems to
>> me if a drive *could* do this, you'd certainly want to turn it
>> (automatic remapping) off. There's way too much chance that a system
>> will read the remapped sector and assume that it contains the
>> original data. That would be hopelessly corrupting.
>There are two scenarios: read and write. For write doing remapping transparent
>is all fine, as the data is destroyed anyways.
>For read it returns an IO error once and the next time you read from that
>block it contains fresh (or partly recovered) data.
What HDs are we talking about, specifically?
WRT writes, how does the drive detect the error?
WRT reads, there are too many filesystems that would accept the
second (no-IO-error) read as being the original good data.
IBM's UltraStar drives have an option (a bit in a vendor-unique mode
page) that enables automatic reassignment, but it's done safely. If
an unrecoverable read error is reported, the block is entered in a
list of reassignment candidates. If that block is subsequently
written, it's written back to the original location, and then
verified. If the verify fails, the block is reassigned and rewritten;
if it succeeds, it's left in the original location, and the block is
removed from the reassignment candidate list.
Notice that invalid data is never returned without an error
indication. That's critical.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/