imsm: don't update migration record when reshape is interrupted

Abort imsm_manage_reshape() without updating the migration record if any
error occurs when checking progress. If reshape is interrupted and the
migration record is then updated, the checkpoint will be wrong and will
cause reshape to fail when the array is restarted.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: NeilBrown <neilb@suse.com>
This commit is contained in:
Artur Paszkiewicz 2016-01-05 17:16:16 +01:00 committed by NeilBrown
parent 5ff3a780ab
commit c85338c675
1 changed files with 2 additions and 2 deletions

View File

@ -10373,7 +10373,7 @@ int wait_for_reshape_imsm(struct mdinfo *sra, int ndata)
if (sysfs_fd_get_ll(fd, &completed) < 0) {
dprintf("cannot read reshape_position (no reshape in progres)\n");
close(fd);
return 0;
return 1;
}
if (completed > position_to_set) {
@ -10662,7 +10662,7 @@ static int imsm_manage_reshape(
sra->reshape_progress = next_step;
/* wait until reshape finish */
if (wait_for_reshape_imsm(sra, ndata) < 0) {
if (wait_for_reshape_imsm(sra, ndata)) {
dprintf("wait_for_reshape_imsm returned error!\n");
goto abort;
}