diff --git a/ChangeLog b/ChangeLog index c3f8c836df..53b2ead529 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Jun 16 11:18:00 EDT 2009 Cole Robinson + + * src/capabilities.c src/capabilities.h src/libvirt_private.syms + src/lxc_conf.c src/qemu_conf.c: Add virCapabilities*EmulatorRequired. + Tue Jun 16 11:16:17 EDT 2009 Cole Robinson * src/qemu_conf.c src/qemu_conf.h tests/qemuhelptest.c diff --git a/src/capabilities.c b/src/capabilities.c index d6e3478f93..00a4407552 100644 --- a/src/capabilities.c +++ b/src/capabilities.c @@ -707,3 +707,13 @@ virCapabilitiesGenerateMac(virCapsPtr caps, { virGenerateMacAddr(caps->macPrefix, mac); } + +extern void +virCapabilitiesSetEmulatorRequired(virCapsPtr caps) { + caps->emulatorRequired = 1; +} + +extern unsigned int +virCapabilitiesIsEmulatorRequired(virCapsPtr caps) { + return caps->emulatorRequired; +} diff --git a/src/capabilities.h b/src/capabilities.h index 5b0bbabbbf..0d476d1073 100644 --- a/src/capabilities.h +++ b/src/capabilities.h @@ -106,6 +106,7 @@ struct _virCaps { int nguests; virCapsGuestPtr *guests; unsigned char macPrefix[VIR_MAC_PREFIX_BUFLEN]; + unsigned int emulatorRequired : 1; }; @@ -125,6 +126,12 @@ extern void virCapabilitiesGenerateMac(virCapsPtr caps, unsigned char *mac); +extern void +virCapabilitiesSetEmulatorRequired(virCapsPtr caps); + +extern unsigned int +virCapabilitiesIsEmulatorRequired(virCapsPtr caps); + extern int virCapabilitiesAddHostFeature(virCapsPtr caps, const char *name); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6af8432372..5ac904f5fc 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -27,6 +27,8 @@ virCapabilitiesFree; virCapabilitiesNew; virCapabilitiesSetMacPrefix; virCapabilitiesGenerateMac; +virCapabilitiesSetEmulatorRequired; +virCapabilitiesIsEmulatorRequired; # conf.h diff --git a/src/lxc_conf.c b/src/lxc_conf.c index 8a29c256c9..d06a02441a 100644 --- a/src/lxc_conf.c +++ b/src/lxc_conf.c @@ -69,6 +69,10 @@ virCapsPtr lxcCapsInit(void) 0, NULL) == NULL) goto no_memory; + + /* LXC Requires an emulator in the XML */ + virCapabilitiesSetEmulatorRequired(caps); + return caps; no_memory: diff --git a/src/qemu_conf.c b/src/qemu_conf.c index 0c6221dcbd..8c657be28f 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -405,6 +405,9 @@ virCapsPtr qemudCapsInit(void) { } } + /* QEMU Requires an emulator in the XML */ + virCapabilitiesSetEmulatorRequired(caps); + return caps; no_memory: