]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Add virCapabilities*EmulatorRequired.
authorCole Robinson <crobinso@redhat.com>
Tue, 16 Jun 2009 15:27:33 +0000 (15:27 +0000)
committerCole Robinson <crobinso@redhat.com>
Tue, 16 Jun 2009 15:27:33 +0000 (15:27 +0000)
Certain drivers always need an 'emulator' specified in the XML (qemu and lxc
at least). Store this info in capabilities.

We will eventually use this to move default emulator handling out of
drivers and into domain_conf.*

ChangeLog
src/capabilities.c
src/capabilities.h
src/libvirt_private.syms
src/lxc_conf.c
src/qemu_conf.c

index c3f8c836dfff453418ba73776caf7cedd6968e10..53b2ead52980f298538f39a37c18851ecec9ca4e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jun 16 11:18:00 EDT 2009 Cole Robinson <crobinso@redhat.com>
+
+       * 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 <crobinso@redhat.com>
 
        * src/qemu_conf.c src/qemu_conf.h tests/qemuhelptest.c
index d6e3478f93867646bc6378dc5bdbffd9962fa1d7..00a44075527dbb9ca6293ca41cc73d1fb1f89492 100644 (file)
@@ -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;
+}
index 5b0bbabbbfdfa42eb7a215aa6636160140f106ee..0d476d1073634fca06e1f3b4cd9382fac06b70c1 100644 (file)
@@ -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);
index 6af8432372320d7ecf9d88070399b300082df028..5ac904f5fc90067b0c69a0ae80cc8e84e10aaf07 100644 (file)
@@ -27,6 +27,8 @@ virCapabilitiesFree;
 virCapabilitiesNew;
 virCapabilitiesSetMacPrefix;
 virCapabilitiesGenerateMac;
+virCapabilitiesSetEmulatorRequired;
+virCapabilitiesIsEmulatorRequired;
 
 
 # conf.h
index 8a29c256c959350a7f1fcb27de30f79ddd6d0232..d06a02441ab258c54b121277bca92bf4629c7940 100644 (file)
@@ -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:
index 0c6221dcbd1690c30aaa959698acee1927a85010..8c657be28f59b70f4772d32dd7238f3b5d9aec36 100644 (file)
@@ -405,6 +405,9 @@ virCapsPtr qemudCapsInit(void) {
             }
     }
 
+    /* QEMU Requires an emulator in the XML */
+    virCapabilitiesSetEmulatorRequired(caps);
+
     return caps;
 
  no_memory: