Skip to content

Commit

Permalink
migration: make migrate_fd_wait_for_unfreeze() return errors
Browse files Browse the repository at this point in the history
Adjust all callers

Signed-off-by: Juan Quintela <quintela@redhat.com>

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
Juan Quintela committed Oct 17, 2012
1 parent d2dbc8e commit 9499743
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 6 deletions.
8 changes: 6 additions & 2 deletions buffered_file.c
Expand Up @@ -150,8 +150,12 @@ static int buffered_close(void *opaque)
if (ret < 0) {
break;
}
if (s->freeze_output)
migrate_fd_wait_for_unfreeze(s->migration_state);
if (s->freeze_output) {
ret = migrate_fd_wait_for_unfreeze(s->migration_state);
if (ret < 0) {
break;
}
}
}

ret2 = migrate_fd_close(s->migration_state);
Expand Down
7 changes: 4 additions & 3 deletions migration.c
Expand Up @@ -370,13 +370,13 @@ static void migrate_fd_cancel(MigrationState *s)
migrate_fd_cleanup(s);
}

void migrate_fd_wait_for_unfreeze(MigrationState *s)
int migrate_fd_wait_for_unfreeze(MigrationState *s)
{
int ret;

DPRINTF("wait for unfreeze\n");
if (s->state != MIG_STATE_ACTIVE)
return;
return -EINVAL;

do {
fd_set wfds;
Expand All @@ -388,8 +388,9 @@ void migrate_fd_wait_for_unfreeze(MigrationState *s)
} while (ret == -1 && (s->get_error(s)) == EINTR);

if (ret == -1) {
qemu_file_set_error(s->file, -s->get_error(s));
return -s->get_error(s);
}
return 0;
}

int migrate_fd_close(MigrationState *s)
Expand Down
2 changes: 1 addition & 1 deletion migration.h
Expand Up @@ -81,7 +81,7 @@ void migrate_fd_connect(MigrationState *s);
ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data,
size_t size);
void migrate_fd_put_ready(MigrationState *s);
void migrate_fd_wait_for_unfreeze(MigrationState *s);
int migrate_fd_wait_for_unfreeze(MigrationState *s);
int migrate_fd_close(MigrationState *s);

void add_migration_state_change_notifier(Notifier *notify);
Expand Down

0 comments on commit 9499743

Please sign in to comment.