diff options
author | NeilBrown <neilb@cse.unsw.edu.au> | 2005-07-27 14:43:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 19:25:48 -0400 |
commit | 4b5c7ae83704320e2afb0912f4c42eadabc7535b (patch) | |
tree | 2db30198606683da3b683cabac531d902a249b27 /drivers/md | |
parent | b38817dda45bc2990a8d593f3a1b4d444b2dcf4f (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.c | 1 | ||||
-rw-r--r-- | drivers/md/raid5.c | 1 | ||||
-rw-r--r-- | drivers/md/raid6main.c | 1 |
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 | ||