summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-01-06 00:20:25 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 08:34:04 -0800
commit18f08819f42b647783e4f6ea99141623881bf182 (patch)
tree062f5b77cd2593239af5e8aa720f20781dc8d80e /drivers
parent9910f16af35419a5382fa7850eecc220103036fa (diff)
[PATCH] md: support check-without-repair of raid10 arrays
Also keep count on the number of errors found. 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 'drivers')
-rw-r--r--drivers/md/raid10.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 8f58a447d9f0..1fa70c34b7d2 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -1206,6 +1206,10 @@ static void sync_request_write(mddev_t *mddev, r10bio_t *r10_bio)
break;
if (j == vcnt)
continue;
+ mddev->resync_mismatches += r10_bio->sectors;
+ if (test_bit(MD_RECOVERY_CHECK, &mddev->recovery))
+ /* Don't fix anything. */
+ continue;
/* Ok, we need to write this bio
* First we need to fixup bv_offset, bv_len and
* bi_vecs, as the read request might have corrupted these