@@ -74,7 +74,8 @@ void qemu_announce_self(void);
bool qemu_savevm_state_blocked(Error **errp);
void qemu_savevm_state_begin(QEMUFile *f,
- const MigrationParams *params);
+ const MigrationParams *params,
+ Error **errp);
int qemu_savevm_state_iterate(QEMUFile *f);
void qemu_savevm_state_complete(QEMUFile *f);
void qemu_savevm_state_cancel(void);
@@ -504,7 +504,7 @@ static void *migration_thread(void *opaque)
bool old_vm_running = false;
DPRINTF("beginning savevm\n");
- qemu_savevm_state_begin(s->file, &s->params);
+ qemu_savevm_state_begin(s->file, &s->params, NULL);
while (s->state == MIG_STATE_ACTIVE) {
int64_t current_time;
@@ -1617,7 +1617,8 @@ bool qemu_savevm_state_blocked(Error **errp)
}
void qemu_savevm_state_begin(QEMUFile *f,
- const MigrationParams *params)
+ const MigrationParams *params,
+ Error **errp)
{
SaveStateEntry *se;
int ret;
@@ -1807,9 +1808,10 @@ static int qemu_savevm_state(QEMUFile *f)
}
qemu_mutex_unlock_iothread();
- qemu_savevm_state_begin(f, ¶ms);
+ qemu_savevm_state_begin(f, ¶ms, NULL);
qemu_mutex_lock_iothread();
+
while (qemu_file_get_error(f) == 0) {
if (qemu_savevm_state_iterate(f) > 0) {
break;
Signed-off-by: Pavel Hrdina <phrdina@redhat.com> --- include/sysemu/sysemu.h | 3 ++- migration.c | 2 +- savevm.c | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-)