mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
savevm: Fix no_migrate
The no_migrate save state flag is currently only checked in the last phase of migration. This means that we potentially waste a lot of time and bandwidth with the live state handlers before we ever check the no_migrate flags. The error message printed when we catch a non-migratable device doesn't get printed for a detached migration. And, no_migrate does nothing to prevent an incoming migration to a target that includes a non-migratable device. This attempts to fix all of these. One notable difference in behavior is that an outgoing migration now checks for non-migratable devices before ever connecting to the target system. This means the target will remain listening rather than exit from failure. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
668643b025
commit
dc9121210e
3 changed files with 31 additions and 14 deletions
|
@ -88,6 +88,10 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (qemu_savevm_state_blocked(mon)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (strstart(uri, "tcp:", &p)) {
|
||||
s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
|
||||
blk, inc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue