diff options
author | NeilBrown <neilb@suse.de> | 2009-11-06 15:19:39 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-11-06 15:19:39 +1100 |
commit | d2505cff5a3ca88de4fc7030fca40a8e069b18f6 (patch) | |
tree | 90a98420a8fea2308a3adfffea2d9120709ebef5 | |
parent | 1b13faf757bcc352e7b60d07dc93c0554e0c1b57 (diff) | |
download | mdadm-d2505cff5a3ca88de4fc7030fca40a8e069b18f6.tar.gz |
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 <neilb@suse.de>
-rw-r--r-- | Grow.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -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); |