]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: add caps to virDomainDefFormat*
authorJoao Martins <joao.m.martins@oracle.com>
Wed, 3 Feb 2016 21:40:35 +0000 (21:40 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 4 Feb 2016 12:38:26 +0000 (12:38 +0000)
And use the newly added caps->host.netprefix (if it exists) for
interface names that match the autogenerated target names.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
31 files changed:
src/bhyve/bhyve_driver.c
src/conf/domain_conf.c
src/conf/domain_conf.h
src/conf/snapshot_conf.c
src/esx/esx_driver.c
src/hyperv/hyperv_driver.c
src/libxl/libxl_domain.c
src/libxl/libxl_driver.c
src/libxl/libxl_migration.c
src/lxc/lxc_driver.c
src/lxc/lxc_process.c
src/network/bridge_driver.c
src/openvz/openvz_driver.c
src/phyp/phyp_driver.c
src/qemu/qemu_domain.c
src/test/test_driver.c
src/uml/uml_driver.c
src/vbox/vbox_common.c
src/vmware/vmware_driver.c
src/vz/vz_driver.c
src/xen/xen_driver.c
src/xenapi/xenapi_driver.c
tests/lxcconf2xmltest.c
tests/openvzutilstest.c
tests/qemuargv2xmltest.c
tests/qemuhotplugtest.c
tests/sexpr2xmltest.c
tests/testutils.c
tests/vmx2xmltest.c
tests/xlconfigtest.c
tests/xmconfigtest.c

index a164b247ab2e59b5fdf184ac7a9f207be3bba529..c23c310e37d365765a1f8cb85d45190878164c48 100644 (file)
@@ -488,7 +488,9 @@ bhyveDomainGetOSType(virDomainPtr dom)
 static char *
 bhyveDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
 {
+    bhyveConnPtr privconn = conn->privateData;
     virDomainObjPtr vm;
+    virCapsPtr caps = NULL;
     char *ret = NULL;
 
     if (!(vm = bhyveDomObjFromDomain(domain)))
@@ -497,9 +499,14 @@ bhyveDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     if (virDomainGetXMLDescEnsureACL(domain->conn, vm->def, flags) < 0)
         goto cleanup;
 
-    ret = virDomainDefFormat(vm->def,
+    caps = bhyveDriverGetCapabilities(privconn);
+    if (!caps)
+        goto cleanup;
+
+    ret = virDomainDefFormat(vm->def, caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
+    virObjectUnref(caps);
  cleanup:
     if (vm)
         virObjectUnlock(vm);
index 4cf3291ddf03e54265612bc94df0ccad37d418db..cc7af802764c324ef2a87d2687e9c0a898e82897 100644 (file)
@@ -18201,8 +18201,8 @@ virDomainDefCheckABIStability(virDomainDefPtr src,
  error:
     err = virSaveLastError();
 
-    strSrc = virDomainDefFormat(src, 0);
-    strDst = virDomainDefFormat(dst, 0);
+    strSrc = virDomainDefFormat(src, NULL, 0);
+    strDst = virDomainDefFormat(dst, NULL, 0);
     VIR_DEBUG("XMLs that failed stability check were: src=\"%s\", dst=\"%s\"",
               NULLSTR(strSrc), NULLSTR(strDst));
     VIR_FREE(strSrc);
@@ -19890,6 +19890,7 @@ virDomainVirtioNetDriverFormat(char **outstr,
 int
 virDomainNetDefFormat(virBufferPtr buf,
                       virDomainNetDefPtr def,
+                      char *prefix,
                       unsigned int flags)
 {
     unsigned int actualType = virDomainNetGetActualType(def);
@@ -20067,7 +20068,8 @@ virDomainNetDefFormat(virBufferPtr buf,
     virBufferEscapeString(buf, "<backenddomain name='%s'/>\n", def->domain_name);
     if (def->ifname &&
         !((flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE) &&
-          (STRPREFIX(def->ifname, VIR_NET_GENERATED_PREFIX)))) {
+          (STRPREFIX(def->ifname, VIR_NET_GENERATED_PREFIX) ||
+           (prefix && STRPREFIX(def->ifname, prefix))))) {
         /* Skip auto-generated target names for inactive config. */
         virBufferEscapeString(buf, "<target dev='%s'/>\n", def->ifname);
     }
@@ -21617,6 +21619,7 @@ virDomainDefHasCapabilitiesFeatures(virDomainDefPtr def)
  * Return -1 on failure.  */
 int
 virDomainDefFormatInternal(virDomainDefPtr def,
+                           virCapsPtr caps,
                            unsigned int flags,
                            virBufferPtr buf)
 {
@@ -21627,6 +21630,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
     size_t i;
     virBuffer childrenBuf = VIR_BUFFER_INITIALIZER;
     int indent;
+    char *netprefix = NULL;
 
     virCheckFlags(VIR_DOMAIN_DEF_FORMAT_COMMON_FLAGS |
                   VIR_DOMAIN_DEF_FORMAT_STATUS |
@@ -22324,8 +22328,10 @@ virDomainDefFormatInternal(virDomainDefPtr def,
         if (virDomainFSDefFormat(buf, def->fss[n], flags) < 0)
             goto error;
 
+    if (caps)
+        netprefix = caps->host.netprefix;
     for (n = 0; n < def->nnets; n++)
-        if (virDomainNetDefFormat(buf, def->nets[n], flags) < 0)
+        if (virDomainNetDefFormat(buf, def->nets[n], netprefix, flags) < 0)
             goto error;
 
     for (n = 0; n < def->nsmartcards; n++)
@@ -22495,12 +22501,12 @@ unsigned int virDomainDefFormatConvertXMLFlags(unsigned int flags)
 
 
 char *
-virDomainDefFormat(virDomainDefPtr def, unsigned int flags)
+virDomainDefFormat(virDomainDefPtr def, virCapsPtr caps, unsigned int flags)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
 
     virCheckFlags(VIR_DOMAIN_DEF_FORMAT_COMMON_FLAGS, NULL);
-    if (virDomainDefFormatInternal(def, flags, &buf) < 0)
+    if (virDomainDefFormatInternal(def, caps, flags, &buf) < 0)
         return NULL;
 
     return virBufferContentAndReset(&buf);
@@ -22534,7 +22540,7 @@ virDomainObjFormat(virDomainXMLOptionPtr xmlopt,
         xmlopt->privateData.format(&buf, obj) < 0)
         goto error;
 
-    if (virDomainDefFormatInternal(obj->def, flags, &buf) < 0)
+    if (virDomainDefFormatInternal(obj->def, NULL, flags, &buf) < 0)
         goto error;
 
     virBufferAdjustIndent(&buf, -2);
@@ -22724,7 +22730,7 @@ virDomainSaveConfig(const char *configDir,
     int ret = -1;
     char *xml;
 
-    if (!(xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
+    if (!(xml = virDomainDefFormat(def, NULL, VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto cleanup;
 
     if (virDomainSaveXML(configDir, def, xml))
@@ -23024,7 +23030,7 @@ virDomainDefCopy(virDomainDefPtr src,
         format_flags |= VIR_DOMAIN_DEF_FORMAT_INACTIVE | VIR_DOMAIN_DEF_FORMAT_MIGRATABLE;
 
     /* Easiest to clone via a round-trip through XML.  */
-    if (!(xml = virDomainDefFormat(src, format_flags)))
+    if (!(xml = virDomainDefFormat(src, caps, format_flags)))
         return NULL;
 
     ret = virDomainDefParseString(xml, caps, xmlopt, parse_flags);
@@ -23511,6 +23517,7 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
     int flags = VIR_DOMAIN_DEF_FORMAT_INACTIVE | VIR_DOMAIN_DEF_FORMAT_SECURE;
     char *xmlStr = NULL;
     int rc = -1;
+    char *netprefix;
 
     switch ((virDomainDeviceType) src->type) {
     case VIR_DOMAIN_DEVICE_DISK:
@@ -23523,7 +23530,8 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
         rc = virDomainFSDefFormat(&buf, src->data.fs, flags);
         break;
     case VIR_DOMAIN_DEVICE_NET:
-        rc = virDomainNetDefFormat(&buf, src->data.net, flags);
+        netprefix = caps->host.netprefix;
+        rc = virDomainNetDefFormat(&buf, src->data.net, netprefix, flags);
         break;
     case VIR_DOMAIN_DEVICE_INPUT:
         rc = virDomainInputDefFormat(&buf, src->data.input, flags);
index 9fdfdf28f3b19933e7be5429fcbbb1bd0657564d..0748c02ebd70390cdf33b43b920247bf68f2eb4e 100644 (file)
@@ -2734,11 +2734,13 @@ void virDomainIOThreadSchedDelId(virDomainDefPtr def, unsigned int iothread_id);
 unsigned int virDomainDefFormatConvertXMLFlags(unsigned int flags);
 
 char *virDomainDefFormat(virDomainDefPtr def,
+                         virCapsPtr caps,
                          unsigned int flags);
 char *virDomainObjFormat(virDomainXMLOptionPtr xmlopt,
                          virDomainObjPtr obj,
                          unsigned int flags);
 int virDomainDefFormatInternal(virDomainDefPtr def,
+                               virCapsPtr caps,
                                unsigned int flags,
                                virBufferPtr buf);
 
@@ -2749,6 +2751,7 @@ int virDomainDiskSourceFormat(virBufferPtr buf,
 
 int virDomainNetDefFormat(virBufferPtr buf,
                           virDomainNetDefPtr def,
+                          char *prefix,
                           unsigned int flags);
 
 typedef enum {
index ea511ec9752b659df2206d89430c2e2b05afcd9f..ffa1bf22adf6bd884c9fb4fa954e0b0a12bdd138 100644 (file)
@@ -702,7 +702,7 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
         virBufferAddLit(&buf, "</disks>\n");
     }
     if (def->dom) {
-        if (virDomainDefFormatInternal(def->dom, flags, &buf) < 0) {
+        if (virDomainDefFormatInternal(def->dom, NULL, flags, &buf) < 0) {
             virBufferFreeAndReset(&buf);
             return NULL;
         }
index 8d4b3fd1b4bb14ace62b58268992b1f18d99f2cb..ce5f7998645915c30f1594529c15eaaf3d80637a 100644 (file)
@@ -2749,7 +2749,7 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
         if (powerState != esxVI_VirtualMachinePowerState_PoweredOff)
             def->id = id;
 
-        xml = virDomainDefFormat(def,
+        xml = virDomainDefFormat(def, priv->caps,
                                  virDomainDefFormatConvertXMLFlags(flags));
     }
 
@@ -2805,7 +2805,8 @@ esxConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
     def = virVMXParseConfig(&ctx, priv->xmlopt, priv->caps, nativeConfig);
 
     if (def)
-        xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
+        xml = virDomainDefFormat(def, priv->caps,
+                                 VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
     virDomainDefFree(def);
 
index 6ce35221750a592efb8c710290155b1fcf802556..b95c5491d34c0b2c6fc37d566700eb33ea65b71e 100644 (file)
@@ -885,7 +885,7 @@ hypervDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
 
     /* FIXME: devices section is totally missing */
 
-    xml = virDomainDefFormat(def,
+    xml = virDomainDefFormat(def, NULL,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
index c74c55ccd221d2f239de35aeae06777ff0a21cf2..cf27ec49312285f9ea240f686cda97a0b557edba 100644 (file)
@@ -1066,7 +1066,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto cleanup_dom;
 
 
-    if ((dom_xml = virDomainDefFormat(vm->def, 0)) == NULL)
+    if ((dom_xml = virDomainDefFormat(vm->def, cfg->caps, 0)) == NULL)
         goto cleanup_dom;
 
     if (libxl_userdata_store(cfg->ctx, domid, "libvirt-xml",
index 4a9134e8d7fc1e067fa0189d5b0af684ca01938c..dfaf3a05d3a55acd9235179ba74dec72ceddb8fa 100644 (file)
@@ -1674,7 +1674,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
         goto cleanup;
     }
 
-    if ((xml = virDomainDefFormat(vm->def, 0)) == NULL)
+    if ((xml = virDomainDefFormat(vm->def, cfg->caps, 0)) == NULL)
         goto cleanup;
     xml_len = strlen(xml) + 1;
 
@@ -2555,6 +2555,8 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
 static char *
 libxlDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
 {
+    libxlDriverPrivatePtr driver = dom->conn->privateData;
+    libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
     virDomainObjPtr vm;
     virDomainDefPtr def;
     char *ret = NULL;
@@ -2572,12 +2574,13 @@ libxlDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
     else
         def = vm->def;
 
-    ret = virDomainDefFormat(def,
+    ret = virDomainDefFormat(def, cfg->caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
     if (vm)
         virObjectUnlock(vm);
+    virObjectUnref(cfg);
     return ret;
 }
 
@@ -2630,7 +2633,7 @@ libxlConnectDomainXMLFromNative(virConnectPtr conn,
         goto cleanup;
     }
 
-    xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
+    xml = virDomainDefFormat(def, cfg->caps, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
  cleanup:
     virDomainDefFree(def);
index 0d23e5f70449e1c3aa2d5e7c9ad7d513592b4513..93eaa875bb59b569f8b0065393ae2fc5e2ea3b49 100644 (file)
@@ -254,7 +254,7 @@ libxlDomainMigrationBegin(virConnectPtr conn,
     if (!libxlDomainMigrationIsAllowed(def))
         goto endjob;
 
-    xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE);
+    xml = virDomainDefFormat(def, cfg->caps, VIR_DOMAIN_DEF_FORMAT_SECURE);
 
  endjob:
     if (!libxlDomainObjEndJob(driver, vm))
index 67088c8fab8cad3f43d09269fdee79fa27d850f6..7be92c75a422f02606926923bcedee1de46e8571 100644 (file)
@@ -1027,6 +1027,7 @@ lxcDomainGetMemoryParameters(virDomainPtr dom,
 static char *lxcDomainGetXMLDesc(virDomainPtr dom,
                                  unsigned int flags)
 {
+    virLXCDriverPtr driver = dom->conn->privateData;
     virDomainObjPtr vm;
     char *ret = NULL;
 
@@ -1040,6 +1041,7 @@ static char *lxcDomainGetXMLDesc(virDomainPtr dom,
 
     ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) &&
                              vm->newDef ? vm->newDef : vm->def,
+                             driver->caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
@@ -1072,7 +1074,7 @@ static char *lxcConnectDomainXMLFromNative(virConnectPtr conn,
     if (!(def = lxcParseConfigString(nativeConfig, caps, driver->xmlopt)))
         goto cleanup;
 
-    xml = virDomainDefFormat(def, 0);
+    xml = virDomainDefFormat(def, caps, 0);
 
  cleanup:
     virObjectUnref(caps);
index f7e2b810b74b8f440ac65269b8d506dc4f85e037..3ee3b130ba9daf8e230e098ba413d9a4a523474e 100644 (file)
@@ -177,7 +177,7 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
 
     /* now that we know it's stopped call the hook if present */
     if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-        char *xml = virDomainDefFormat(vm->def, 0);
+        char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
 
         /* we can't stop the operation even if the script raised an error */
         virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name,
@@ -238,7 +238,7 @@ static void virLXCProcessCleanup(virLXCDriverPtr driver,
 
     /* The "release" hook cleans up additional resources */
     if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-        char *xml = virDomainDefFormat(vm->def, 0);
+        char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
 
         /* we can't stop the operation even if the script raised an error */
         virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name,
@@ -1278,7 +1278,7 @@ int virLXCProcessStart(virConnectPtr conn,
 
     /* Run an early hook to set-up missing devices */
     if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-        char *xml = virDomainDefFormat(vm->def, 0);
+        char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
         int hookret;
 
         hookret = virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name,
@@ -1390,7 +1390,7 @@ int virLXCProcessStart(virConnectPtr conn,
 
     /* now that we know it is about to start call the hook if present */
     if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-        char *xml = virDomainDefFormat(vm->def, 0);
+        char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
         int hookret;
 
         hookret = virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name,
@@ -1532,7 +1532,7 @@ int virLXCProcessStart(virConnectPtr conn,
 
     /* finally we can call the 'started' hook script if any */
     if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-        char *xml = virDomainDefFormat(vm->def, 0);
+        char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
         int hookret;
 
         hookret = virHookCall(VIR_HOOK_DRIVER_LXC, vm->def->name,
@@ -1697,7 +1697,7 @@ virLXCProcessReconnectDomain(virDomainObjPtr vm,
 
         /* now that we know it's reconnected call the hook if present */
         if (virHookPresent(VIR_HOOK_DRIVER_LXC)) {
-            char *xml = virDomainDefFormat(vm->def, 0);
+            char *xml = virDomainDefFormat(vm->def, driver->caps, 0);
             int hookret;
 
             /* we can't stop the operation even if the script raised an error */
index 362e2945ff6bf52a7c45da88cd2a833b8c70759c..c19696c74fe6ebe50388e89e56d54401311293cd 100644 (file)
@@ -200,11 +200,11 @@ networkRunHook(virNetworkObjPtr network,
 
         virBufferAddLit(&buf, "<hookData>\n");
         virBufferAdjustIndent(&buf, 2);
-        if (iface && virDomainNetDefFormat(&buf, iface, 0) < 0)
+        if (iface && virDomainNetDefFormat(&buf, iface, NULL, 0) < 0)
             goto cleanup;
         if (virNetworkDefFormatBuf(&buf, network->def, 0) < 0)
             goto cleanup;
-        if (dom && virDomainDefFormatInternal(dom, 0, &buf) < 0)
+        if (dom && virDomainDefFormatInternal(dom, NULL, 0, &buf) < 0)
             goto cleanup;
 
         virBufferAdjustIndent(&buf, -2);
index c14834be47f28d6c33efaf8595a124641f076471..a6834b373f7a35fdbe98c351f526e3a702274e17 100644 (file)
@@ -573,7 +573,7 @@ static char *openvzDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
         goto cleanup;
     }
 
-    ret = virDomainDefFormat(vm->def,
+    ret = virDomainDefFormat(vm->def, driver->caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
@@ -2274,7 +2274,8 @@ openvzDomainMigrateBegin3Params(virDomainPtr domain,
         goto cleanup;
     }
 
-    xml = virDomainDefFormat(vm->def, VIR_DOMAIN_DEF_FORMAT_SECURE);
+    xml = virDomainDefFormat(vm->def, driver->caps,
+                             VIR_DOMAIN_DEF_FORMAT_SECURE);
 
  cleanup:
     if (vm)
index 760e1324365de73a847a6cc4611dffad730f1e78..d1c40daaa28022bcfb7bbb4460c4d2ca12cec8f6 100644 (file)
@@ -3303,7 +3303,7 @@ phypDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
     if (virDomainDefSetVcpus(&def, vcpus) < 0)
         goto err;
 
-    return virDomainDefFormat(&def,
+    return virDomainDefFormat(&def, phyp_driver->caps,
                               virDomainDefFormatConvertXMLFlags(flags));
 
  err:
index 18955204517748c2880e26bf1fe5f117f43d2246..a70b866fd259f8197d5d7fa53b46b20cc20e0da5 100644 (file)
@@ -2160,7 +2160,7 @@ qemuDomainDefFormatBuf(virQEMUDriverPtr driver,
 
     }
 
-    ret = virDomainDefFormatInternal(def,
+    ret = virDomainDefFormatInternal(def, driver->caps,
                                      virDomainDefFormatConvertXMLFlags(flags),
                                      buf);
 
index 37108abd231c0fe3ccbd9690fadaebd26cd7a077..89973f67825a78306c8394da201f85915690bcf5 100644 (file)
@@ -1982,7 +1982,7 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
     if (!(privdom = testDomObjFromDomain(domain)))
         goto cleanup;
 
-    xml = virDomainDefFormat(privdom->def,
+    xml = virDomainDefFormat(privdom->def, privconn->caps,
                              VIR_DOMAIN_DEF_FORMAT_SECURE);
 
     if (xml == NULL) {
@@ -2591,6 +2591,7 @@ testDomainGetVcpuPinInfo(virDomainPtr dom,
 
 static char *testDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
 {
+    testDriverPtr privconn = domain->conn->privateData;
     virDomainDefPtr def;
     virDomainObjPtr privdom;
     char *ret = NULL;
@@ -2603,7 +2604,8 @@ static char *testDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     def = (flags & VIR_DOMAIN_XML_INACTIVE) &&
         privdom->newDef ? privdom->newDef : privdom->def;
 
-    ret = virDomainDefFormat(def, virDomainDefFormatConvertXMLFlags(flags));
+    ret = virDomainDefFormat(def, privconn->caps,
+                             virDomainDefFormatConvertXMLFlags(flags));
 
     virDomainObjEndAPI(&privdom);
     return ret;
index bccdc69ada952c26ffc91caa71de6cbed8830fa6..4469426a368e4eb5b7101f1d705a8e230683b385 100644 (file)
@@ -1986,7 +1986,7 @@ static char *umlDomainGetXMLDesc(virDomainPtr dom,
         goto cleanup;
 
     ret = virDomainDefFormat((flags & VIR_DOMAIN_XML_INACTIVE) && vm->newDef ?
-                             vm->newDef : vm->def,
+                             vm->newDef : vm->def, driver->caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
index 110990f6b95faacbc69e725a6685d78ba0bb9ced..cf38d2a3735cd554ffc246d5fe9f32b94fce9496 100644 (file)
@@ -3996,7 +3996,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
     /* dump USB devices/filters if active */
     vboxHostDeviceGetXMLDesc(data, def, machine);
 
-    ret = virDomainDefFormat(def, virDomainDefFormatConvertXMLFlags(flags));
+    ret = virDomainDefFormat(def, data->caps,
+                             virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
     VBOX_RELEASE(machine);
index fa66c21249d7820956bb384a73575ba95d5684e2..e4e470a015d8135c0ecf6a71e186820cbcf54391 100644 (file)
@@ -1005,7 +1005,7 @@ vmwareDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
         goto cleanup;
     }
 
-    ret = virDomainDefFormat(vm->def,
+    ret = virDomainDefFormat(vm->def, driver->caps,
                              virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
@@ -1040,7 +1040,8 @@ vmwareConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat,
     def = virVMXParseConfig(&ctx, driver->xmlopt, driver->caps, nativeConfig);
 
     if (def != NULL)
-        xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
+        xml = virDomainDefFormat(def, driver->caps,
+                                 VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
     virDomainDefFree(def);
 
index f73f8eff057e950a07e5ed7f98c10f57d9cc840e..925ff320a2db29b230fed36a3426a85e36629016 100644 (file)
@@ -642,6 +642,7 @@ vzDomainGetState(virDomainPtr domain,
 static char *
 vzDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
 {
+    vzConnPtr privconn = domain->conn->privateData;
     virDomainDefPtr def;
     virDomainObjPtr privdom;
     char *ret = NULL;
@@ -654,7 +655,7 @@ vzDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
     def = (flags & VIR_DOMAIN_XML_INACTIVE) &&
         privdom->newDef ? privdom->newDef : privdom->def;
 
-    ret = virDomainDefFormat(def, flags);
+    ret = virDomainDefFormat(def, privconn->caps, flags);
 
  cleanup:
     if (privdom)
index 4da2d6db4db201c2a604007c70ff595ff7124fc1..7628c949b0869cd4e18ed50a307b86d9a15ee9be 100644 (file)
@@ -1530,7 +1530,7 @@ xenUnifiedDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
     def = xenDaemonDomainGetXMLDesc(dom->conn, minidef, cpus);
 
     if (def)
-        ret = virDomainDefFormat(def,
+        ret = virDomainDefFormat(def, priv->caps,
                                  virDomainDefFormatConvertXMLFlags(flags));
 
  cleanup:
@@ -1586,7 +1586,7 @@ xenUnifiedConnectDomainXMLFromNative(virConnectPtr conn,
     if (!def)
         goto cleanup;
 
-    ret = virDomainDefFormat(def, 0);
+    ret = virDomainDefFormat(def, priv->caps, 0);
 
  cleanup:
     virDomainDefFree(def);
index 629495c797029f09fa4ac29f93624dbfdb43d4d9..c4f33b991149a04ceb1812c5e8ced60095817623 100644 (file)
@@ -1402,7 +1402,8 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
     xen_vm vm = NULL;
     xen_vm_set *vms;
     xen_string_string_map *result = NULL;
-    xen_session *session = ((struct _xenapiPrivate *)(dom->conn->privateData))->session;
+    struct _xenapiPrivate *priv = conn->privateData;
+    xen_session *session = priv->session;
     virDomainDefPtr defPtr = NULL;
     char *boot_policy = NULL;
     unsigned long memory = 0;
@@ -1580,7 +1581,7 @@ xenapiDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
         xen_vif_set_free(vif_set);
     }
     xen_vm_set_free(vms);
-    xml = virDomainDefFormat(defPtr, flags);
+    xml = virDomainDefFormat(defPtr, priv->caps, flags);
     virDomainDefFree(defPtr);
     return xml;
 
index fd5bc031cc6dab864e07b2bdc254fe7d4616bc51..fc071f751cfb95438579b077d50cd7890896d05e 100644 (file)
@@ -40,7 +40,7 @@ testCompareXMLToConfigFiles(const char *xml,
         goto fail;
 
     if (vmdef) {
-        if (!(actualxml = virDomainDefFormat(vmdef, 0)))
+        if (!(actualxml = virDomainDefFormat(vmdef, caps, 0)))
             goto fail;
 
         if (virtTestLoadFile(xml, &expectxml) < 0)
index 1414d703f77cffb6eebe4561de8a83f88e4c6267..ccde6365cca8e59147116333365330aa725de597 100644 (file)
@@ -115,7 +115,7 @@ testReadNetworkConf(const void *data ATTRIBUTE_UNUSED)
         goto cleanup;
     }
 
-    actual = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
+    actual = virDomainDefFormat(def, NULL, VIR_DOMAIN_DEF_FORMAT_INACTIVE);
 
     if (actual == NULL) {
         err = virGetLastError();
index 7759a09488cb5647c49fd93af3ff642ab7dc61ed..946a4e535420c8958fab6f56d7668c76507d7472 100644 (file)
@@ -87,7 +87,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
         goto fail;
     }
 
-    if (!(actualxml = virDomainDefFormat(vmdef, 0)))
+    if (!(actualxml = virDomainDefFormat(vmdef, driver.caps, 0)))
         goto fail;
 
     if (blankProblemElements(expectxml) < 0 ||
index 61ade25b200b1fc0f436b8cf83c0225a89ca2569..1f711ddbbf0dc141a0ab02a1cf4357024a548474 100644 (file)
@@ -182,7 +182,8 @@ testQemuHotplugCheckResult(virDomainObjPtr vm,
     int ret;
 
     vm->def->id = -1;
-    actual = virDomainDefFormat(vm->def, VIR_DOMAIN_DEF_FORMAT_SECURE);
+    actual = virDomainDefFormat(vm->def, driver.caps,
+                                VIR_DOMAIN_DEF_FORMAT_SECURE);
     if (!actual)
         return -1;
     vm->def->id = QEMU_HOTPLUG_TEST_DOMAIN_ID;
index de537ed20a44199321cc9a923c73137f82de2123..a4b0452909cf0ed2c09d5194720f40d1b7c7561d 100644 (file)
@@ -62,7 +62,7 @@ testCompareFiles(const char *xml, const char *sexpr)
       goto fail;
   }
 
-  if (!(gotxml = virDomainDefFormat(def, 0)))
+  if (!(gotxml = virDomainDefFormat(def, caps, 0)))
       goto fail;
 
   if (virtTestCompareToFile(gotxml, xml) < 0)
index b587f83b0f38daf1e96696453c796a5d35cd0b21..61c5b721b903268be7c138999689f8ffe807c764 100644 (file)
@@ -1091,7 +1091,7 @@ testCompareDomXML2XMLFiles(virCapsPtr caps, virDomainXMLOptionPtr xmlopt,
         goto fail;
     }
 
-    if (!(actual = virDomainDefFormat(def, format_flags)))
+    if (!(actual = virDomainDefFormat(def, caps, format_flags)))
         goto fail;
 
     if (virtTestCompareToFile(actual, outfile) < 0)
index a22af75ed4394d26a75b5d72677a3d282d7009d0..efd6325d83afa75e165e04face71c2d00018f171 100644 (file)
@@ -86,7 +86,8 @@ testCompareFiles(const char *vmx, const char *xml)
         goto cleanup;
     }
 
-    if (!(formatted = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
+    if (!(formatted = virDomainDefFormat(def, caps,
+                                         VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto cleanup;
 
     if (virtTestCompareToFile(formatted, xml) < 0)
index bad69ca6eb8965336f821e303f76fe5ae96bfb0d..4b2f28fd31f61e4bdb6f98850e73507487581dca 100644 (file)
@@ -116,7 +116,7 @@ testCompareFormatXML(const char *xmcfg, const char *xml)
     if (!(def = xenParseXL(conf, caps, xmlopt)))
         goto fail;
 
-    if (!(gotxml = virDomainDefFormat(def, VIR_DOMAIN_XML_INACTIVE |
+    if (!(gotxml = virDomainDefFormat(def, caps, VIR_DOMAIN_XML_INACTIVE |
                                       VIR_DOMAIN_XML_SECURE)))
         goto fail;
 
index 3d47693434159c94c687021d27f70d80e09e430d..a5c718b98f952104a75f0f3c4c5743f34366cff1 100644 (file)
@@ -121,7 +121,7 @@ testCompareFormatXML(const char *xmcfg, const char *xml)
     if (!(def = xenParseXM(conf, caps, xmlopt)))
         goto fail;
 
-    if (!(gotxml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
+    if (!(gotxml = virDomainDefFormat(def, caps, VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto fail;
 
     if (virtTestCompareToFile(gotxml, xml) < 0)