mdadm/grow: Component size must be larger than chunk size

Grow: Changing component size must be larger than current
chunk size against stripe raids, otherwise Grow_reshape()
would set s->size to '0'.

Signed-off-by: Zhilong Liu <zlliu@suse.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
This commit is contained in:
Zhilong Liu 2017-09-05 17:41:36 +08:00 committed by Jes Sorensen
parent b3ab4e4dd7
commit 4b74a905a6
1 changed files with 6 additions and 0 deletions

6
Grow.c
View File

@ -1816,6 +1816,12 @@ int Grow_reshape(char *devname, int fd,
return 1;
}
if (array.level > 1 &&
(array.chunk_size / 1024) > (int)s->size) {
pr_err("component size must be larger than chunk size.\n");
return 1;
}
st = super_by_fd(fd, &subarray);
if (!st) {
pr_err("Unable to determine metadata format for %s\n", devname);