From 4f0a5e012cf41321d611e7cad63e1017d143d138 Mon Sep 17 00:00:00 2001 From: Jonathan Brassow Date: Tue, 22 May 2012 13:55:31 +1000 Subject: MD RAID1: Further conditionalize 'fullsync' A RAID1 device does not necessarily need a fullsync if the bitmap can be used instead. Similar to commit d6b212f4b19da5301e6b6eca562e5c7a2a6e8c8d in raid5.c, if a raid1 device can be brought back (i.e. from a transient failure) it shouldn't need a complete resync. Provided the bitmap is not to old, it will have recorded the areas of the disk that need recovery. Signed-off-by: Jonathan Brassow Signed-off-by: NeilBrown --- drivers/md/raid1.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/md/raid1.c') diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 8e717bd518e..835de7168cd 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -2600,7 +2600,8 @@ static struct r1conf *setup_conf(struct mddev *mddev) if (!disk->rdev || !test_bit(In_sync, &disk->rdev->flags)) { disk->head_position = 0; - if (disk->rdev) + if (disk->rdev && + (disk->rdev->saved_raid_disk < 0)) conf->fullsync = 1; } else if (conf->last_used < 0) /* -- cgit v1.2.3-70-g09d2