diff options
author | NeilBrown <neilb@suse.de> | 2005-11-09 00:39:31 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-09 10:56:38 -0500 |
commit | ba22dcbf106338a5c46d6979f9b19564faae3d49 (patch) | |
tree | 4caae4532cda0412d2446eca8b036d4e0df447f8 /include | |
parent | 007583c9253fed363a0bd71b039e9b40a0f6855e (diff) |
[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')
-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 | |||
134 | * only maintained for arrays that | 134 | * only maintained for arrays that |
135 | * support hot removal | 135 | * support hot removal |
136 | */ | 136 | */ |
137 | atomic_t read_errors; /* number of consecutive read errors that | ||
138 | * we have tried to ignore. | ||
139 | */ | ||
137 | }; | 140 | }; |
138 | 141 | ||
139 | typedef struct mdk_personality_s mdk_personality_t; | 142 | typedef struct mdk_personality_s mdk_personality_t; |