From: NeilBrown Date: Fri, 6 Nov 2009 04:19:39 +0000 (+1100) Subject: Grow: restrict to 2.6.32 X-Git-Tag: mdadm-3.1.1~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2505cff5a3ca88de4fc7030fca40a8e069b18f6;p=thirdparty%2Fmdadm.git Grow: restrict to 2.6.32 2.6.31 has a bug which can lead to unsafe reshaping. So only allow a reshape with 2.6.32. When the required fixed get into 2.6.31.y, this can be relaxed slightly Signed-off-by: NeilBrown --- diff --git a/Grow.c b/Grow.c index 8e6e7f77..4423b787 100644 --- a/Grow.c +++ b/Grow.c @@ -871,6 +871,12 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file, ndata--; } + if (odata == ndata && + get_linux_version() < 2006032) { + fprintf(stderr, Name ": in-place reshape is not safe before 2.6.32, sorry.\n"); + break; + } + /* Check that we can hold all the data */ size = ndata * array.size; get_dev_size(fd, NULL, &array_size);