From: NeilBrown Without this, and attempt to 'grow' an array will claim to have synced the extra part without actually having done anything. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- drivers/md/raid1.c | 1 + drivers/md/raid5.c | 1 + drivers/md/raid6main.c | 1 + 3 files changed, 3 insertions(+) diff -puN drivers/md/raid1.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size drivers/md/raid1.c --- devel/drivers/md/raid1.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size 2005-07-25 19:41:06.000000000 -0700 +++ devel-akpm/drivers/md/raid1.c 2005-07-25 19:41:06.000000000 -0700 @@ -1468,6 +1468,7 @@ static int raid1_resize(mddev_t *mddev, set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); } mddev->size = mddev->array_size; + mddev->resync_max_sectors = sectors; return 0; } diff -puN drivers/md/raid5.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size drivers/md/raid5.c --- devel/drivers/md/raid5.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size 2005-07-25 19:41:06.000000000 -0700 +++ devel-akpm/drivers/md/raid5.c 2005-07-25 19:41:06.000000000 -0700 @@ -1931,6 +1931,7 @@ static int raid5_resize(mddev_t *mddev, set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); } mddev->size = sectors /2; + mddev->resync_max_sectors = sectors; return 0; } diff -puN drivers/md/raid6main.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size drivers/md/raid6main.c --- devel/drivers/md/raid6main.c~md-when-resizing-an-array-we-need-to-update-resync_max_sectors-as-well-as-size 2005-07-25 19:41:06.000000000 -0700 +++ devel-akpm/drivers/md/raid6main.c 2005-07-25 19:41:06.000000000 -0700 @@ -2095,6 +2095,7 @@ static int raid6_resize(mddev_t *mddev, set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); } mddev->size = sectors /2; + mddev->resync_max_sectors = sectors; return 0; } _