[libvirt] [PATCH] qemu: Set correct migrate host in client_migrate_info
Daniel P. Berrange
berrange at redhat.com
Wed Apr 10 15:57:20 UTC 2013
On Wed, Apr 10, 2013 at 05:52:26PM +0200, Michal Privoznik wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=920441
>
> Currently, we are discarding listen attribute from qemu cookie even though
> we strive to gather it. This result in not so cool bug: if user have
> different networks, one for management/migration, and one for VNC/SPICE we
> pass incorrect host to the qemu in client_migrate_info. What we actually
> pass is remote hostname, while we should be passing remote listen address.
> It doesn't matter as long as these two are the same, but they don't need
> necessary to be like that.
> ---
> src/conf/domain_conf.c | 4 +++-
> src/qemu/qemu_migration.c | 2 +-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index e00a532..2afa982 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -16557,8 +16557,10 @@ virDomainGraphicsListenGetAddress(virDomainGraphicsDefPtr def, size_t ii)
> virDomainGraphicsListenDefPtr listenInfo
> = virDomainGraphicsGetListen(def, ii, false);
>
> + /* even a network can have a listen address */
> if (!listenInfo ||
> - (listenInfo->type != VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS))
> + !(listenInfo->type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS ||
> + listenInfo->type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK))
> return NULL;
> return listenInfo->address;
> }
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index 41ad768..089b75a 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
> @@ -1738,7 +1738,7 @@ qemuDomainMigrateGraphicsRelocate(virQEMUDriverPtr driver,
> if (ret == 0) {
> ret = qemuMonitorGraphicsRelocate(priv->mon,
> cookie->graphics->type,
> - cookie->remoteHostname,
> + cookie->graphics->listen,
So how do this work if the user has configured
<graphics listen="0.0.0.0">
this is not an address you tell the spice client to reconnect to.
This is why it originally used the 'remoteHostname' becuase that
is a valid address to connect to.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list