diff options
author | NeilBrown <neilb@suse.de> | 2009-11-06 05:19:39 +0100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-11-06 05:19:39 +0100 |
commit | d2505cff5a3ca88de4fc7030fca40a8e069b18f6 (patch) | |
tree | 90a98420a8fea2308a3adfffea2d9120709ebef5 /Grow.c | |
parent | Grow: use large block count and make sure stripe cache can hold it. (diff) | |
download | mdadm-d2505cff5a3ca88de4fc7030fca40a8e069b18f6.tar.xz mdadm-d2505cff5a3ca88de4fc7030fca40a8e069b18f6.zip |
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>
Diffstat (limited to '')
-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); |