[PATCH] md: better handling of readerrors with raid5.
authorNeilBrown <neilb@suse.de>
Wed, 9 Nov 2005 05:39:22 +0000 (21:39 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 9 Nov 2005 15:56:36 +0000 (07:56 -0800)
commit4e5314b56a7ea11c7a5f2b8418992b2f49648a25
tree58b0c604f4f4e55523d2c93971f79d80e406b9ce
parent703ebe86a999861e833be4015aaf552837e9613a
[PATCH] md: better handling of readerrors with raid5.

This patch changes the behaviour of raid5 when it gets a read error.
Instead of just failing the device, it tried to find out what should have
been there, and writes it over the bad block.  For some media-errors, this
has a reasonable chance of fixing the error.  If the write succeeds, and a
subsequent read succeeds as well, raid5 decided the address is OK and
conitnues.

Instead of failing a drive on read-error, we attempt to re-write the block,
and then re-read.  If that all works, we allow the device to remain in the
array.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/raid5.c
include/linux/raid/raid5.h