[libvirt] PATCH: Support bootloaders in QEMU driver
Daniel P. Berrange
berrange at redhat.com
Thu May 15 16:23:49 UTC 2008
On Thu, May 15, 2008 at 11:09:13AM -0400, Daniel Veillard wrote:
> On Tue, May 13, 2008 at 12:31:36AM +0100, Daniel P. Berrange wrote:
> > The QEMU driver supports booting Xen guests via the Xenner hypervisor. For
> > such paravirtualized guests there is no regular BIOS, so the bootloader has
> > to be run on the host. Xenner defaults to pygrub, but since libvirt has a
> > generic syntax for bootloaders, we should use it. So this patch adds support
> > for the <bootloader> syntax in the QEMU drive, and passes this to Xenner via
> > the -bootloader arg.
> >
> > The patch is overly large, because when we have a bootloader we need to skip
> > the kernel/initrd/cmdline/boot elements & thus caused alot of intrusive code
> > re-indentation .
> [...]
> >
> > /* Extract OS type info */
> > obj = xmlXPathEval(BAD_CAST "string(/domain/os/type[1])", ctxt);
> > if ((obj == NULL) || (obj->type != XPATH_STRING) ||
> > (obj->stringval == NULL) || (obj->stringval[0] == 0)) {
> > + if (!def->os.type[0]) {
> > + qemudReportError(conn, NULL, NULL, VIR_ERR_OS_TYPE,
> > + "%s", _("no OS type"));
> > + goto error;
> > + }
> > + } else {
> > + strcpy(def->os.type, (const char *)obj->stringval);
> > + xmlXPathFreeObject(obj);
> > + }
>
> Argh, that part of the code has not been cleaned up, using virXPathString
> there would make this way easier to read and check.
Yes, that's something that needs to be sorted out.
> The big indentation block change inflated the patch size a bit. it still
> look fine.
This is applied too now.
Regards,
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