aboutsummaryrefslogtreecommitdiff
path: root/vl.c
diff options
context:
space:
mode:
authorJuan Quintela <quintela@redhat.com>2014-10-08 10:58:10 +0200
committerJuan Quintela <quintela@redhat.com>2015-07-07 14:54:51 +0200
commitdf4b1024526cae3479da3492d6371fd4a7324a03 (patch)
tree33e8d1dcc68938b281264a62bffc9775151d0102 /vl.c
parentca3fc39ea9045188e37b84c4f92ee79c7ed4b1c3 (diff)
downloadqemu-df4b1024526cae3479da3492d6371fd4a7324a03.zip
qemu-df4b1024526cae3479da3492d6371fd4a7324a03.tar.gz
qemu-df4b1024526cae3479da3492d6371fd4a7324a03.tar.bz2
migration: create new section to store global state
This includes a new section that for now just stores the current qemu state. Right now, there are only one way to control what is the state of the target after migration. - If you run the target qemu with -S, it would start stopped. - If you run the target qemu without -S, it would run just after migration finishes. The problem here is what happens if we start the target without -S and there happens one error during migration that puts current state as -EIO. Migration would ends (notice that the error happend doing block IO, network IO, i.e. nothing related with migration), and when migration finish, we would just "continue" running on destination, probably hanging the guest/corruption data, whatever. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'vl.c')
-rw-r--r--vl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vl.c b/vl.c
index 19a8737..cfa6133 100644
--- a/vl.c
+++ b/vl.c
@@ -4624,6 +4624,7 @@ int main(int argc, char **argv, char **envp)
return 0;
}
+ register_global_state();
if (incoming) {
Error *local_err = NULL;
qemu_start_incoming_migration(incoming, &local_err);