aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-01-14 00:30:10 -0500
committerNeilBrown <neilb@suse.de>2014-01-14 00:44:21 -0500
commit0b59bb6422e43ad0534073e2cbc4d0f52720da88 (patch)
tree42091a7d809216ef68b5f41e5a90d6a039538932
parent7eb418851f3278de67126ea0c427641ab4792c57 (diff)
md/raid10: avoid fullsync when not necessary.
This is the raid10 equivalent of commit 4f0a5e012cf41321d611e7cad63e1017d143d138 MD RAID1: Further conditionalize 'fullsync' If a device in a newly assembled array is not fully recovered we currently do a fully resync by don't need to. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--drivers/md/raid10.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index 06eeb99ea6fc..8d39d63281b9 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3747,7 +3747,8 @@ static int run(struct mddev *mddev)
3747 !test_bit(In_sync, &disk->rdev->flags)) { 3747 !test_bit(In_sync, &disk->rdev->flags)) {
3748 disk->head_position = 0; 3748 disk->head_position = 0;
3749 mddev->degraded++; 3749 mddev->degraded++;
3750 if (disk->rdev) 3750 if (disk->rdev &&
3751 disk->rdev->saved_raid_disk < 0)
3751 conf->fullsync = 1; 3752 conf->fullsync = 1;
3752 } 3753 }
3753 disk->recovery_disabled = mddev->recovery_disabled - 1; 3754 disk->recovery_disabled = mddev->recovery_disabled - 1;