]> git.karo-electronics.de Git - karo-tx-linux.git/commit
md: revert incorrect fix for read error handling in raid1.
authorNeilBrown <neilb@suse.de>
Tue, 1 Dec 2009 06:30:59 +0000 (17:30 +1100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 8 Dec 2009 18:22:24 +0000 (10:22 -0800)
commit2a959cfd1e6eff5ce71693bb6f7e753d71f5f088
tree3dd8c0edf0028e381fe8c0890d5d959cab3e72a1
parenta5aeface580afa4d2daba4980cd26f53ed31787a
md: revert incorrect fix for read error handling in raid1.

commit d0e260782c3702a009645c3caa02e381dab8798b upstream.

commit 4706b349f was a forward port of a fix that was needed
for SLES10.  But in fact it is not needed in mainline because
the earlier commit dd00a99e7a fixes the same problem in a
better way.
Further, this commit introduces a bug in the way it interacts with
the automatic read-error-correction.  If, after a read error is
successfully corrected, the same disk is chosen to re-read - the
re-read won't be attempted but an error will be returned instead.

After reverting that commit, there is the possibility that a
read error on a read-only array (where read errors cannot
be corrected as that requires a write) will repeatedly read the same
device and continue to get an error.
So in the "Array is readonly" case, fail the drive immediately on
a read error.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/md/raid1.c