propagate error on failed completion (Glauber Costa)
migrate_fd_put_ready() calls qemu_savevm_state_complete(), but the later can fail. If it happens, re-start the vm and propagate the error up Based on a patch by Yaniv Kamay Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6997 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
3dd1f8ef0f
commit
b161d123e7
10
migration.c
10
migration.c
@ -220,13 +220,19 @@ void migrate_fd_put_ready(void *opaque)
|
||||
|
||||
dprintf("iterate\n");
|
||||
if (qemu_savevm_state_iterate(s->file) == 1) {
|
||||
int state;
|
||||
dprintf("done iterating\n");
|
||||
vm_stop(0);
|
||||
|
||||
bdrv_flush_all();
|
||||
qemu_savevm_state_complete(s->file);
|
||||
s->state = MIG_STATE_COMPLETED;
|
||||
if ((qemu_savevm_state_complete(s->file)) < 0) {
|
||||
vm_start();
|
||||
state = MIG_STATE_ERROR;
|
||||
} else {
|
||||
state = MIG_STATE_COMPLETED;
|
||||
}
|
||||
migrate_fd_cleanup(s);
|
||||
s->state = state;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user