diff -urN mdadm-3.1.1.orig/Grow.c mdadm-3.1.1/Grow.c --- mdadm-3.1.1.orig/Grow.c 2009-11-19 06:13:29.000000000 +0100 +++ mdadm-3.1.1/Grow.c 2010-01-18 17:07:40.776572516 +0100 @@ -891,7 +891,7 @@ } /* Check that we can hold all the data */ - size = ndata * array.size; + size = ndata * (long long)array.size; get_dev_size(fd, NULL, &array_size); if (size < (array_size/1024)) { fprintf(stderr, Name ": this change will reduce the size of the array.\n"