aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.h
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2018-05-02 18:47:19 +0800
committerJuan Quintela <quintela@redhat.com>2018-05-15 20:24:27 +0200
commitb23c2ade250718fe77b51e116f95f3c34c8a4c24 (patch)
treee6bad4abb8c82bdb88c1ae19b1a04ae6c2aa2822 /migration/migration.h
parenta688d2c1abc791254fddd1366ecc11f8f5c6eb7a (diff)
downloadqemu-b23c2ade250718fe77b51e116f95f3c34c8a4c24.zip
qemu-b23c2ade250718fe77b51e116f95f3c34c8a4c24.tar.gz
qemu-b23c2ade250718fe77b51e116f95f3c34c8a4c24.tar.bz2
migration: implement "postcopy-pause" src logic
Now when network down for postcopy, the source side will not fail the migration. Instead we convert the status into this new paused state, and we will try to wait for a rescue in the future. If a recovery is detected, migration_thread() will reset its local variables to prepare for that. Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Peter Xu <peterx@redhat.com> Message-Id: <20180502104740.12123-4-peterx@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index 26e5951..60283c3 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -194,6 +194,9 @@ struct MigrationState
bool send_configuration;
/* Whether we send section footer during migration */
bool send_section_footer;
+
+ /* Needed by postcopy-pause state */
+ QemuSemaphore postcopy_pause_sem;
};
void migrate_set_state(int *state, int old_state, int new_state);