summary refs log tree commit diff stats
path: root/scripts/qapi/introspect.py
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2021-06-29 14:13:55 -0400
committerDr. David Alan Gilbert <dgilbert@redhat.com>2021-07-05 10:51:26 +0100
commitcc48c587d25ff5dd7dddb4e5072de9ca8464c832 (patch)
tree51f59c0c70e1c5be1abe5cbad2d426da9ef1cf49 /scripts/qapi/introspect.py
parentc00d434ac6f202b1e81aa52f3385bd9c22ac1599 (diff)
downloadfocaccia-qemu-cc48c587d25ff5dd7dddb4e5072de9ca8464c832.tar.gz
focaccia-qemu-cc48c587d25ff5dd7dddb4e5072de9ca8464c832.zip
migration: Move yank outside qemu_start_incoming_migration()
Starting from commit b5eea99ec2f5c, qmp_migrate_recover() calls unregister
before calling qemu_start_incoming_migration(). I believe it wanted to mitigate
the next call to yank_register_instance(), but I think that's wrong.

Firstly, if during recover, we should keep the yank instance there, not
"quickly removing and adding it back".

Meanwhile, calling qmp_migrate_recover() twice with b5eea99ec2f5c will directly
crash the dest qemu (right now it can't; but it'll start to work right after
the next patch) because the 1st call of qmp_migrate_recover() will unregister
permanently when the channel failed to establish, then the 2nd call of
qmp_migrate_recover() crashes at yank_unregister_instance().

This patch fixes it by moving yank ops out of qemu_start_incoming_migration()
into qmp_migrate_incoming.  For qmp_migrate_recover(), drop the unregister of
yank instance too since we keep it there during the recovery phase.

Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20210629181356.217312-2-peterx@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'scripts/qapi/introspect.py')
0 files changed, 0 insertions, 0 deletions