From: Zhilong Liu Date: Wed, 11 Oct 2017 08:53:12 +0000 (+0800) Subject: mdadm/grow: adding a test to ensure resize was required X-Git-Tag: mdadm-4.1-rc1~54 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=commitdiff_plain;h=1b21c449e6f2c81eb75cc0a6fc81b3edbefae5a3 mdadm/grow: adding a test to ensure resize was required To fix the commit: 4b74a905a67e (mdadm/grow: Component size must be larger than chunk size) array.level > 1 : against the raids which chunk_size is meaningful. s->size > 0 : ensure that changing component size has required. array.chunk_size / 1024 > s->size : ensure component size should be always >= current chunk_size when requires resize, otherwise, mddev->pers->resize would be set mddev->dev_sectors as '0'. Reported-by: Tomasz Majchrzak Suggested-by: NeilBrown Signed-off-by: Zhilong Liu Signed-off-by: Jes Sorensen --- diff --git a/Grow.c b/Grow.c index 4d79d832..0f9e89bc 100644 --- a/Grow.c +++ b/Grow.c @@ -1809,8 +1809,8 @@ int Grow_reshape(char *devname, int fd, return 1; } - if (array.level > 1 && - (array.chunk_size / 1024) > (int)s->size) { + if (array.level > 1 && s->size > 0 && + (array.chunk_size / 1024) > (int)s->size) { pr_err("component size must be larger than chunk size.\n"); return 1; }