[libvirt] [PATCH] qemu: Ignore graphics cookie if port == 0
Michal Privoznik
mprivozn at redhat.com
Wed Sep 21 11:54:47 UTC 2016
On 21.09.2016 10:04, Jiri Denemark wrote:
> Old libvirt represents
>
> <graphics type='spice'>
> <listen type='none'/>
> </graphics>
>
> as
>
> <graphics type='spice' autoport='no'/>
>
> In this mode, QEMU doesn't listen for SPICE connection anywhere and
> clients have to use virDomainOpenGraphics* APIs to attach to the domain.
> That is, the client has to run on the same host where the domains runs
> and it's impossible to tell the client to reconnect to the destination
> QEMU during migration (unless there is some kind of proxy on the host).
>
> While current libvirt correctly ignores such graphics devices when
> creating graphics migration cookie, old libvirt just sends
>
> <graphics type='spice' port='0' listen='0.0.0.0' tlsPort='-1'/>
>
> in the cookie. After seeing this cookie, we happily would call
> client_migrate_info QMP command and wait for SPICE_MIGRATE_COMPLETED
> event, which is quite pointless since the doesn't know where to connecti
> anyway. We should just ignore such cookies.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1376083
>
> Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> ---
> src/qemu/qemu_migration.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index e734816..8a220d9 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -2903,6 +2903,15 @@ qemuDomainMigrateGraphicsRelocate(virQEMUDriverPtr driver,
> goto cleanup;
> }
>
> + /* Older libvirt sends port == 0 for listen type='none' graphics. It's
> + * safe to ignore such requests since relocation to unknown port does
> + * not make sense in general.
> + */
> + if (port <= 0 && tlsPort <= 0) {
> + ret = 0;
> + goto cleanup;
> + }
> +
> if (qemuDomainObjEnterMonitorAsync(driver, vm,
> QEMU_ASYNC_JOB_MIGRATION_OUT) == 0) {
> ret = qemuMonitorGraphicsRelocate(priv->mon, type, listenAddress,
>
ACK
Michal
More information about the libvir-list
mailing list