X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=Grow.c;h=06343a0512e7226a98f6dac8c0b1a38eedd7d8ed;hb=c61c4dd01df75d3a56809db19ec827203505830b;hp=3923a90fded10dd1dd050101b7f7d40bc41b08b2;hpb=d19e3cfb6627c40e3a28454ebc2098c0e19b9a77;p=thirdparty%2Fmdadm.git diff --git a/Grow.c b/Grow.c index 3923a90f..06343a05 100644 --- a/Grow.c +++ b/Grow.c @@ -759,6 +759,7 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file, if (err == EBUSY && (array.state & (1<sys_name), - GET_COMPONENT|GET_DEVS|GET_OFFSET|GET_STATE| - GET_CACHE); - if (!sra) - return 1; - err = sysfs_set_str(info, NULL, "array_state", "readonly"); if (err) return err; @@ -1989,7 +1983,13 @@ int Grow_continue(int mdfd, struct supertype *st, struct mdinfo *info, /* make sure reshape doesn't progress until we are ready */ sysfs_set_str(info, NULL, "sync_max", "0"); sysfs_set_str(info, NULL, "array_state", "active"); /* FIXME or clean */ - + + sra = sysfs_read(-1, devname2devnum(info->sys_name), + GET_COMPONENT|GET_DEVS|GET_OFFSET|GET_STATE| + GET_CACHE); + if (!sra) + return 1; + /* ndisks is not growing, so raid_disks is old and +delta is new */ odisks = info->array.raid_disks; ndisks = odisks + info->delta_disks;