[libvirt] [PATCH] conf: Fill listenAddr from driver if none set

Daniel P. Berrange berrange at redhat.com
Mon Jun 25 12:06:03 UTC 2012


On Mon, Jun 25, 2012 at 02:03:04PM +0200, Michal Privoznik wrote:
> On 25.06.2012 13:53, Daniel P. Berrange wrote:
> > From 25273cfefec989d78ec867b6ff56e22f7317f82a Mon Sep 17 00:00:00 2001
> > From: "Daniel P. Berrange" <berrange at redhat.com>
> > Date: Mon, 25 Jun 2012 12:50:52 +0100
> > Subject: [PATCH] Include the default listen address in the live guest XML
> > 
> > If no 'listen' attribute or <listen> element is set in the
> > guest XML, the default driver configured listen address is
> > used. There is no way to client applications to determine
> > what this address is though. When starting the guest, we
> > should update the live XML to include this default listen
> > address
> > ---
> >  src/qemu/qemu_process.c |   21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> > 
> > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
> > index 1df3637..c5140c3 100644
> > --- a/src/qemu/qemu_process.c
> > +++ b/src/qemu/qemu_process.c
> > @@ -3429,6 +3429,27 @@ int qemuProcessStart(virConnectPtr conn,
> >                  vm->def->graphics[0]->data.spice.tlsPort = tlsPort;
> >              }
> >          }
> > +
> > +        if (vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC ||
> > +            vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE) {
> > +            virDomainGraphicsDefPtr graphics = vm->def->graphics[0];
> > +            if (graphics->nListens == 0) {
> > +                if (VIR_EXPAND_N(graphics->listens, graphics->nListens, 1) < 0) {
> > +                    virReportOOMError();
> > +                    goto cleanup;
> > +                }
> > +                graphics->listens[0].type = VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS;
> > +                if (vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC)
> > +                    graphics->listens[0].address = strdup(driver->vncListen);
> > +                else
> > +                    graphics->listens[0].address = strdup(driver->spiceListen);
> > +                if (!graphics->listens[0].address) {
> > +                    VIR_SHRINK_N(graphics->listens, graphics->nListens, 1);
> > +                    virReportOOMError();
> > +                    goto cleanup;
> > +                }
> > +            }
> > +        }
> >      }
> >  
> >      if (virFileMakePath(driver->logDir) < 0) {
> > 
> 
> 
> I like this one more. ACK.

Ok, pushed this

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