diff options
author | NeilBrown <neilb@suse.de> | 2005-11-08 21:39:31 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 07:56:38 -0800 |
commit | ba22dcbf106338a5c46d6979f9b19564faae3d49 (patch) | |
tree | 4caae4532cda0412d2446eca8b036d4e0df447f8 /include/linux/raid | |
parent | 007583c9253fed363a0bd71b039e9b40a0f6855e (diff) | |
download | linux-ba22dcbf106338a5c46d6979f9b19564faae3d49.tar.gz linux-ba22dcbf106338a5c46d6979f9b19564faae3d49.tar.bz2 linux-ba22dcbf106338a5c46d6979f9b19564faae3d49.zip |
[PATCH] md: improvements to raid5 handling of read errors
Two refinements to the 'attempt-overwrite-on-read-error' mechanism.
1/ If the array is read-only, don't attempt an over-write.
2/ If there are more than max_nr_stripes read errors on a device with
no success, fail the drive. This will make sure a dead
drive will be eventually kicked even when we aren't trying
to rewrite (which would normally kick a dead drive more quickly.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/raid')
-rw-r--r-- | include/linux/raid/md_k.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 4169c11e5451..200c69e34fc0 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -134,6 +134,9 @@ struct mdk_rdev_s * only maintained for arrays that * support hot removal */ + atomic_t read_errors; /* number of consecutive read errors that + * we have tried to ignore. + */ }; typedef struct mdk_personality_s mdk_personality_t; |