[Libvir] [PATCH][RFC] libvirt ldoms support
Daniel P. Berrange
berrange at redhat.com
Wed Apr 9 12:47:36 UTC 2008
On Wed, Apr 09, 2008 at 12:52:33PM +0100, Richard W.M. Jones wrote:
> On Tue, Apr 08, 2008 at 10:49:01AM -0700, Ryan Scott wrote:
> > @@ -1794,11 +1802,17 @@ virDomainGetUUID(virDomainPtr domain, un
> > return (-1);
> > }
> >
> > +#ifndef WITH_LDOMS
> > if (domain->id == 0) {
> > memset(uuid, 0, VIR_UUID_BUFLEN);
> > } else {
> > memcpy(uuid, &domain->uuid[0], VIR_UUID_BUFLEN);
> > }
> > +#endif
> > +
> > +#ifdef WITH_LDOMS
> > + memcpy(uuid, &domain->uuid[0], VIR_UUID_BUFLEN);
> > +#endif
> > return (0);
> > }
> >
>
> I guess this is working around the Xen assumption that dom0 has UUID
> 0000-0000-0000-0000, so it exposes a Xen-ism in the code. This should
> move down to the Xen driver, so I'll propose a patch to fix that,
> which should remove the need for the specific #ifdef here.
Yeah, I recall discussing this before. IIRC, we determined that the
domain object will alwayss have a valid UUID, therefore the explicit
memset(uuid, 0, VIR_UUID_BUFLEN);
is legacy code & redundant.
> > @@ -5025,6 +5039,42 @@ virStorageVolGetPath(virStorageVolPtr vo
> > return NULL;
> > }
> >
> > +#ifdef WITH_LDOMS
> > +/**
> > + * virLDomConsole:
> > + * @domain: the domain if available
> [...]
>
> I think having a generic "get console" call in libvirt might be a good
> idea, but having public LDom-specific calls isn't. Dan Berrange will
> correct me if I'm wrong here, but currently the method used is to dump
> the domain XML of a domain and look for the <console/> or <graphics/>
> element within <devices/>, corresponding to the serial console or the
> graphical (VNC) console respectively.
>
> For example it might look like:
>
> <graphics type='vnc' port='5904'/>
>
> (see full example at http://libvirt.org/format.html). So can you add
> a similar device to the LDom domain XML to avoid the need for this new
> call?
>
> >From reading the virsh code it looks like virLDomConsole is meant to
> return the telnet port number for the serial console(?) so perhaps
> something like:
>
> <console port='1234'/>
The <console> tag only allows for PTYs currently, but I'm parttime
hacking on this more general proposal too
http://www.redhat.com/archives/libvir-list/2007-May/msg00191.html
which allows for TCP access to console, so I think we can come up
with something which works for LDoms too.
Dan.
--
|: Red Hat, Engineering, Boston -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the libvir-list
mailing list