Grow: allow auto-readonly arrays to be reshaped.
In an array is auto-readonly then a reshape will not start. But auto-readonly is only wanted until something is explicitly done to acknowledge that the array is really wanted. So it is perfectly correct to switch an auto-readonly array to 'clean' if a reshape has been requested. Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
parent
621ea11b58
commit
815c8a7e0b
6
Grow.c
6
Grow.c
|
@ -521,9 +521,15 @@ static int freeze(struct supertype *st)
|
|||
else {
|
||||
struct mdinfo *sra = sysfs_read(-1, st->devnum, GET_VERSION);
|
||||
int err;
|
||||
char buf[20];
|
||||
|
||||
if (!sra)
|
||||
return -1;
|
||||
/* Need to clear any 'read-auto' status */
|
||||
if (sysfs_get_str(sra, NULL, "array_state", buf, 20) > 0 &&
|
||||
strncmp(buf, "read-auto", 9) == 0)
|
||||
sysfs_set_str(sra, NULL, "array_state", "clean");
|
||||
|
||||
err = sysfs_freeze_array(sra);
|
||||
sysfs_free(sra);
|
||||
return err;
|
||||
|
|
Loading…
Reference in New Issue