From d2505cff5a3ca88de4fc7030fca40a8e069b18f6 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Fri, 6 Nov 2009 15:19:39 +1100 Subject: 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 --- Grow.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Grow.c b/Grow.c index 8e6e7f7..4423b78 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); -- cgit v1.2.1