FIX: Use sysfs to change array parameters

For external metadata parameters has to be changed via sysfs.
i.e. change of raid_disks requires handshake mdmon<->md (md_allow_write())

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2011-01-06 18:29:03 +11:00 committed by NeilBrown
parent 9ff87c16ce
commit 7477d51305
1 changed files with 2 additions and 1 deletions

3
Grow.c
View File

@ -1891,7 +1891,8 @@ static int reshape_array(char *container, int fd, char *devname,
sync_metadata(st);
if (info->array.chunk_size == info->new_chunk &&
reshape.before.layout == reshape.after.layout) {
reshape.before.layout == reshape.after.layout &&
st->ss->external == 0) {
array.raid_disks = reshape.after.data_disks + reshape.parity;
if (ioctl(fd, SET_ARRAY_INFO, &array) != 0) {
int err = errno;