summaryrefslogtreecommitdiffstats
path: root/include/linux/raid
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2005-11-08 21:39:31 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-09 07:56:38 -0800
commitba22dcbf106338a5c46d6979f9b19564faae3d49 (patch)
tree4caae4532cda0412d2446eca8b036d4e0df447f8 /include/linux/raid
parent007583c9253fed363a0bd71b039e9b40a0f6855e (diff)
downloadlinux-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.h3
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;