diff --git a/Assemble.c b/Assemble.c index 8977928..a57d384 100644 --- a/Assemble.c +++ b/Assemble.c @@ -1044,7 +1044,7 @@ static int start_array(int mdfd, "array_state", "readonly"); if (rv == 0) rv = Grow_continue(mdfd, st, content, - c->backup_file, + c->backup_file, 0, c->freeze_reshape); } else if (c->readonly && sysfs_attribute_available( @@ -1912,7 +1912,7 @@ int assemble_container_content(struct supertype *st, int mdfd, } err = Grow_continue(mdfd, st, content, c->backup_file, - c->freeze_reshape); + 0, c->freeze_reshape); } else switch(content->array.level) { case LEVEL_LINEAR: case LEVEL_MULTIPATH: diff --git a/Grow.c b/Grow.c index a5a9421..202b6ef 100644 --- a/Grow.c +++ b/Grow.c @@ -4920,7 +4920,7 @@ int Grow_continue_command(char *devname, int fd, /* continue reshape */ - ret_val = Grow_continue(fd, st, content, backup_file, 0); + ret_val = Grow_continue(fd, st, content, backup_file, 1, 0); Grow_continue_command_exit: if (fd2 > -1) @@ -4936,7 +4936,7 @@ Grow_continue_command_exit: } int Grow_continue(int mdfd, struct supertype *st, struct mdinfo *info, - char *backup_file, int freeze_reshape) + char *backup_file, int forked, int freeze_reshape) { int ret_val = 2; @@ -4959,7 +4959,7 @@ int Grow_continue(int mdfd, struct supertype *st, struct mdinfo *info, } else ret_val = reshape_array(NULL, mdfd, "array", st, info, 1, NULL, INVALID_SECTORS, - backup_file, 0, 1, + backup_file, 0, forked, 1 | info->reshape_active, freeze_reshape); diff --git a/mdadm.h b/mdadm.h index a73d42a..efe4778 100644 --- a/mdadm.h +++ b/mdadm.h @@ -1193,7 +1193,7 @@ extern int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt, char *backup_file, int verbose); extern int Grow_continue(int mdfd, struct supertype *st, struct mdinfo *info, char *backup_file, - int freeze_reshape); + int forked, int freeze_reshape); extern int restore_backup(struct supertype *st, struct mdinfo *content,