]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdadm/grow: correct size and chunk_size casting
authorRoman Sobanski <roman.sobanski@intel.com>
Fri, 27 Apr 2018 10:12:21 +0000 (12:12 +0200)
committerJes Sorensen <jsorensen@fb.com>
Fri, 27 Apr 2018 13:30:32 +0000 (09:30 -0400)
With commit 4b74a905a67e
("mdadm/grow: Component size must be larger than chunk size") mdadm returns
incorrect message if size given to grow was greater than 2 147 483 647 K.
Cast chunk_size to "unsigned long long" instead of casting size to "int".

Signed-off-by: Roman Sobanski <roman.sobanski@intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Grow.c

diff --git a/Grow.c b/Grow.c
index 8722969234233d15537cca1baa94da83b5592e7b..a4be7e7ba62ff399044f3da7df3ca807d3380a61 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -1821,7 +1821,7 @@ int Grow_reshape(char *devname, int fd,
        }
 
        if (array.level > 1 && s->size > 1 &&
-           (array.chunk_size / 1024) > (int)s->size) {
+           (unsigned long long) (array.chunk_size / 1024) > s->size) {
                pr_err("component size must be larger than chunk size.\n");
                return 1;
        }