We were retrying when there was one error, entering a loop. Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/migration.c b/migration.c index 7f8928a..0baed23 100644 --- a/migration.c +++ b/migration.c @@ -362,6 +362,7 @@ void migrate_fd_connect(FdMigrationState *s) void migrate_fd_put_ready(void *opaque) { FdMigrationState *s = opaque; + int ret; if (s->state != MIG_STATE_ACTIVE) { DPRINTF("put_ready returning because of non-active state\n"); @@ -369,7 +370,10 @@ void migrate_fd_put_ready(void *opaque) } DPRINTF("iterate\n"); - if (qemu_savevm_state_iterate(s->mon, s->file) == 1) { + ret = qemu_savevm_state_iterate(s->mon, s->file); + if (ret == -1) { + migrate_fd_error(s); + } else if (ret == 1) { int old_vm_running = vm_running; DPRINTF("done iterating\n"); -- 1.7.6.2