aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorNeilBrown <neilb@cse.unsw.edu.au>2005-07-27 14:43:28 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-27 19:25:48 -0400
commit4b5c7ae83704320e2afb0912f4c42eadabc7535b (patch)
tree2db30198606683da3b683cabac531d902a249b27 /drivers/md
parentb38817dda45bc2990a8d593f3a1b4d444b2dcf4f (diff)
[PATCH] md: when resizing an array, we need to update resync_max_sectors as well as size
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 <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/raid1.c1
-rw-r--r--drivers/md/raid5.c1
-rw-r--r--drivers/md/raid6main.c1
3 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index 5f253ee536bb..d3a64a04a6d8 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -1468,6 +1468,7 @@ static int raid1_resize(mddev_t *mddev, sector_t sectors)
1468 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 1468 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
1469 } 1469 }
1470 mddev->size = mddev->array_size; 1470 mddev->size = mddev->array_size;
1471 mddev->resync_max_sectors = sectors;
1471 return 0; 1472 return 0;
1472} 1473}
1473 1474
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 93a9726cc2d6..4698d5f79575 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -1931,6 +1931,7 @@ static int raid5_resize(mddev_t *mddev, sector_t sectors)
1931 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 1931 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
1932 } 1932 }
1933 mddev->size = sectors /2; 1933 mddev->size = sectors /2;
1934 mddev->resync_max_sectors = sectors;
1934 return 0; 1935 return 0;
1935} 1936}
1936 1937
diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c
index f62ea1a73d0d..f5ee16805111 100644
--- a/drivers/md/raid6main.c
+++ b/drivers/md/raid6main.c
@@ -2095,6 +2095,7 @@ static int raid6_resize(mddev_t *mddev, sector_t sectors)
2095 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); 2095 set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);
2096 } 2096 }
2097 mddev->size = sectors /2; 2097 mddev->size = sectors /2;
2098 mddev->resync_max_sectors = sectors;
2098 return 0; 2099 return 0;
2099} 2100}
2100 2101