mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-22 00:40:03 +00:00
[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:
parent
ce25c31bdd
commit
8838832830
1 changed files with 7 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue