From 7477d51305f2daf410f19c476aee882f2cf9c560 Mon Sep 17 00:00:00 2001 From: Adam Kwolek Date: Thu, 6 Jan 2011 18:29:03 +1100 Subject: [PATCH] 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 Signed-off-by: NeilBrown --- Grow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Grow.c b/Grow.c index 66b8efb..36bb7de 100644 --- a/Grow.c +++ b/Grow.c @@ -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;