On Thu, Apr 16, 2009 at 04:18:58PM +0200, Pritesh Kothari wrote:
Hi All,
I have attached a patch which when applied on the HEAD as of today would allow
virtualbox support in libvirt. It takes cares of all the stuff mentioned on
the list earlier. Still if I have missed anything, please do tell me.
I actually just tried out your previous patch from 2 days ago and it
worked without trouble, so I reckon we can plan to get this driver
in the forthcoming release next week.
+static virCapsPtr vboxCapsInit(void) {
+ struct utsname utsname;
+ virCapsPtr caps;
+ virCapsGuestPtr guest;
+
+ uname(&utsname);
+
+ if ((caps = virCapabilitiesNew(utsname.machine,
+ 0, 0)) == NULL)
+ goto no_memory;
+
+ if (virCapsInitNUMA(caps) < 0)
+ goto no_memory;
+
+ virCapabilitiesSetMacPrefix(caps, (unsigned char[]){ 0x08, 0x00, 0x27 });
+
+ if ((guest = virCapabilitiesAddGuest(caps,
+ "hvm",
+ utsname.machine,
+ sizeof(int) == 4 ? 32 : 64,
I was wondering why the capabilities said '32' as wordsize
even on x86_64, and of course this is because 'int' is still
32 bits on x86_64. I'd switch to 'sizeof(size_t)' instead
unless someone has better suggestions for determining the
native arch wordsize in a portable manner.
+static const char *vboxGetType(virConnectPtr conn ATTRIBUTE_UNUSED)
{
+ DEBUG("%s: in vboxGetType",conn->driver->name);
+ return strdup("VBox");
+}
This shouldn't strdup the type - the returned string is const,
not to be free'd by caller.
Even better just remove this method entirely. I don't know why
we have this as a driver method at all. The default impl in
src/libvirt.c already does the correct thing, returning the
conn->driver->name string.
We should remove getType from all our driver impls.
Daniel
--
|: Red Hat, Engineering, London -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 :|