Commit d399f67704ddc29704e397b3e4f866a7c1052a3d
Committed by
Anthony Liguori
1 parent
86635821
fix migration to obey -S
Since migration returns right away, starting the VM right after calling qemu_start_incoming_migration is wrong even if -S is not passed. We have to do this after migration has completed. Cc: Glauber Costa <glommer@redhat.com> Cc: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
4 changed files
with
7 additions
and
2 deletions
migration-exec.c
... | ... | @@ -118,6 +118,8 @@ static void exec_accept_incoming_migration(void *opaque) |
118 | 118 | dprintf("successfully loaded vm state\n"); |
119 | 119 | /* we've successfully migrated, close the fd */ |
120 | 120 | qemu_set_fd_handler2(qemu_popen_fd(f), NULL, NULL, NULL, NULL); |
121 | + if (autostart) | |
122 | + vm_start(); | |
121 | 123 | |
122 | 124 | err: |
123 | 125 | qemu_fclose(f); | ... | ... |
migration-tcp.c
... | ... | @@ -166,6 +166,8 @@ static void tcp_accept_incoming_migration(void *opaque) |
166 | 166 | /* we've successfully migrated, close the server socket */ |
167 | 167 | qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL); |
168 | 168 | close(s); |
169 | + if (autostart) | |
170 | + vm_start(); | |
169 | 171 | |
170 | 172 | out_fopen: |
171 | 173 | qemu_fclose(f); | ... | ... |
sysemu.h
vl.c
... | ... | @@ -187,7 +187,7 @@ ram_addr_t ram_size; |
187 | 187 | int nb_nics; |
188 | 188 | NICInfo nd_table[MAX_NICS]; |
189 | 189 | int vm_running; |
190 | -static int autostart; | |
190 | +int autostart; | |
191 | 191 | static int rtc_utc = 1; |
192 | 192 | static int rtc_date_offset = -1; /* -1 means no change */ |
193 | 193 | int cirrus_vga_enabled = 1; |
... | ... | @@ -6091,7 +6091,7 @@ int main(int argc, char **argv, char **envp) |
6091 | 6091 | qemu_start_incoming_migration(incoming); |
6092 | 6092 | } |
6093 | 6093 | |
6094 | - if (autostart) | |
6094 | + else if (autostart) | |
6095 | 6095 | vm_start(); |
6096 | 6096 | |
6097 | 6097 | #ifndef _WIN32 | ... | ... |