[PATCH] md: Calculate correct array size for raid10 in new offset mode

The size calculation made assumtion which the new offset mode didn't
follow.  This gets the size right in all cases.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
NeilBrown
2006-06-26 00:27:50 -07:00
کامیت شده توسط Linus Torvalds
والد ce25c31bdd
کامیت 8838832830

مشاهده پرونده

@@ -2060,7 +2060,13 @@ static int run(mddev_t *mddev)
/*
* Ok, everything is just fine now
*/
size = conf->stride * conf->raid_disks;
if (conf->far_offset) {
size = mddev->size >> (conf->chunk_shift-1);
size *= conf->raid_disks;
size <<= conf->chunk_shift;
sector_div(size, conf->far_copies);
} else
size = conf->stride * conf->raid_disks;
sector_div(size, conf->near_copies);
mddev->array_size = size/2;
mddev->resync_max_sectors = size;