Commit ca65b73b authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds

[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: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6cce3b23
This diff is collapsed.
...@@ -228,6 +228,8 @@ struct raid5_private_data { ...@@ -228,6 +228,8 @@ struct raid5_private_data {
* Cleared when a sync completes. * Cleared when a sync completes.
*/ */
struct page *spare_page; /* Used when checking P/Q in raid6 */
/* /*
* Free stripes pool * Free stripes pool
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment