diff options
author | NeilBrown <neilb@suse.de> | 2006-01-06 03:20:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:34:03 -0500 |
commit | ca65b73bd9c301d243df93780f7b26579e6c9204 (patch) | |
tree | 1ca8157e11033989ee94c20b1f2d4c936f9dc09c /include/linux/raid | |
parent | 6cce3b23f6f8e974c00af7a9b88f1d413ba368a8 (diff) |
[PATCH] md: fix raid6 resync check/repair code
raid6 currently does not check the P/Q syndromes when doing a resync, it just
calculates the correct value and writes it. Doing the check can reduce writes
(often to 0) for a resync, and it is needed to properly implement the
echo check > sync_action
operation.
This patch implements the appropriate checks and tidies up some related code.
It also allows raid6 user-requested resync to bypass the intent bitmap.
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/raid5.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/raid/raid5.h b/include/linux/raid/raid5.h index f025ba6fb14c..e9c1c0d4f90b 100644 --- a/include/linux/raid/raid5.h +++ b/include/linux/raid/raid5.h | |||
@@ -228,6 +228,8 @@ struct raid5_private_data { | |||
228 | * Cleared when a sync completes. | 228 | * Cleared when a sync completes. |
229 | */ | 229 | */ |
230 | 230 | ||
231 | struct page *spare_page; /* Used when checking P/Q in raid6 */ | ||
232 | |||
231 | /* | 233 | /* |
232 | * Free stripes pool | 234 | * Free stripes pool |
233 | */ | 235 | */ |