summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@cse.unsw.edu.au>2005-07-31 22:34:50 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-01 19:14:01 -0700
commitb1581566183f310abbd2d384a9079d4039faca05 (patch)
tree41c7ba3538663a6c79ad5ac9b002f4bd54d4a4f4
parent57ee67af35183c60e924ebb6d6b3e1d2d9c03366 (diff)
downloadlinux-3.10-b1581566183f310abbd2d384a9079d4039faca05.tar.gz
linux-3.10-b1581566183f310abbd2d384a9079d4039faca05.tar.bz2
linux-3.10-b1581566183f310abbd2d384a9079d4039faca05.zip
[PATCH] md: make sure raid5/raid6 resync uses correct 'max_sectors'
The default resync_max_sector is set to "mddev->size << 1". If the raid-personality-module updates mddev->size, it must update resync_max_sectors too. 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>
-rw-r--r--drivers/md/raid5.c1
-rw-r--r--drivers/md/raid6main.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 4698d5f7957..43f231a467d 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -1653,6 +1653,7 @@ static int run (mddev_t *mddev)
/* device size must be a multiple of chunk size */
mddev->size &= ~(mddev->chunk_size/1024 -1);
+ mddev->resync_max_sectors = mddev->size << 1;
if (!conf->chunk_size || conf->chunk_size % 4) {
printk(KERN_ERR "raid5: invalid chunk size %d for %s\n",
diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c
index f5ee1680511..495dee1d1e8 100644
--- a/drivers/md/raid6main.c
+++ b/drivers/md/raid6main.c
@@ -1813,6 +1813,7 @@ static int run (mddev_t *mddev)
/* device size must be a multiple of chunk size */
mddev->size &= ~(mddev->chunk_size/1024 -1);
+ mddev->resync_max_sectors = mddev->size << 1;
if (conf->raid_disks < 4) {
printk(KERN_ERR "raid6: not enough configured devices for %s (%d, minimum 4)\n",