]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] md: attempt to auto-correct read errors in raid1
authorNeilBrown <neilb@suse.de>
Fri, 6 Jan 2006 08:20:19 +0000 (00:20 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:34:03 +0000 (08:34 -0800)
commit1a37834c31b847573af4494307ed34b42d61c942
tree4f6ba4cb056f8c7cea82c7d548769b879d0fb405
parentf9b9ff10ccfcf8a0673e40e150caddd30265acb2
[PATCH] md: attempt to auto-correct read errors in raid1

On a read-error we suspend the array, then synchronously read the block from
other arrays until we find one where we can read it.  Then we try writing the
good data back everywhere and make sure it works.  If any write or subsequent
read fails, only then do we fail the device out of the array.

To be able to suspend the array, we need to also keep track of how many
requests are queued for handling by raid1d.

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/md.c
drivers/md/raid1.c
include/linux/raid/raid1.h