]> git.ipfire.org Git - thirdparty/qemu.git/commit
monitor: Make client_migrate_info synchronous
authorMarkus Armbruster <armbru@redhat.com>
Thu, 5 Mar 2015 08:30:16 +0000 (09:30 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 27 Apr 2015 10:46:57 +0000 (12:46 +0200)
commit3b5704b2f80189b2f9fdddf1690998e566eeacab
tree6cd8b3d48b2ff7f0c0bb093a6215a11be7bc9ab3
parentf2a581010cb8e3a2564a45a2863a33a732cc2fc7
monitor: Make client_migrate_info synchronous

Live migration with spice works like this today:

  (1) client_migrate_info monitor cmd
  (2) spice server notifies client, client connects to target host.
  (3) qemu waits until spice client connect is finished.
  (4) send over vmstate (i.e. main part of live migration).
  (5) spice handover to target host.

(3) is implemented by making client_migrate_info a async monitor
command.  This is the only async monitor command we have.

The original reason to implement this dance was that qemu did not accept
new tcp connections while the incoming migration was running, so (2) and
(4) could not be done in parallel.  That issue was fixed long ago though.
Qemu version 1.3.0 (released Dec 2012) and newer happily accept tcp
connects while the incoming migration runs.

Time to drop step (3).  This patch does exactly that, by making the
monitor command synchronous and removing the code needed to handle the
async monitor command in ui/spice-core.c

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hmp-commands.hx
include/ui/qemu-spice.h
monitor.c
qmp-commands.hx
ui/spice-core.c