diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index ebf23be6d04ad338f26d9b8fe78ca3d56c58f0c1..8d4b3fd1b4bb14ace62b58268992b1f18d99f2cb 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -2743,7 +2743,7 @@ esxDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) ctx.autodetectSCSIControllerModel = NULL; ctx.datacenterPath = priv->primary->datacenterPath; - def = virVMXParseConfig(&ctx, priv->xmlopt, vmx); + def = virVMXParseConfig(&ctx, priv->xmlopt, priv->caps, vmx); if (def) { if (powerState != esxVI_VirtualMachinePowerState_PoweredOff) @@ -2802,7 +2802,7 @@ esxConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat, ctx.autodetectSCSIControllerModel = NULL; ctx.datacenterPath = NULL; - def = virVMXParseConfig(&ctx, priv->xmlopt, nativeConfig); + def = virVMXParseConfig(&ctx, priv->xmlopt, priv->caps, nativeConfig); if (def) xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE); diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index f3cbbf55547933afddd42bc87908f16454249823..b30b5de35b61b8bf4cd20492c45b2986eb5db7ca 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -166,7 +166,8 @@ vmwareLoadDomains(struct vmware_driver *driver) goto cleanup; if ((vmdef = - virVMXParseConfig(&ctx, driver->xmlopt, vmx)) == NULL) { + virVMXParseConfig(&ctx, driver->xmlopt, + driver->caps, vmx)) == NULL) { goto cleanup; } diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c index a12b03ab238ee2458cfe813a7172f75539f1f404..7eedba300a714cba261c9b104bc44a8f960ff896 100644 --- a/src/vmware/vmware_driver.c +++ b/src/vmware/vmware_driver.c @@ -1035,7 +1035,7 @@ vmwareConnectDomainXMLFromNative(virConnectPtr conn, const char *nativeFormat, ctx.autodetectSCSIControllerModel = NULL; ctx.datacenterPath = NULL; - def = virVMXParseConfig(&ctx, driver->xmlopt, nativeConfig); + def = virVMXParseConfig(&ctx, driver->xmlopt, driver->caps, nativeConfig); if (def != NULL) xml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE); diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 7c3c10a29b36cf0b5e57ef70095754317e9ad057..2ae83f3513119a204ac7cc6729e75e94d5a5f0e1 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1276,6 +1276,7 @@ virVMXGatherSCSIControllers(virVMXContext *ctx, virDomainDefPtr def, virDomainDefPtr virVMXParseConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, + virCapsPtr caps, const char *vmx) { bool success = false; @@ -1811,6 +1812,10 @@ virVMXParseConfig(virVMXContext *ctx, def->namespaceData = namespaceData; } + if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE, + xmlopt) < 0) + goto cleanup; + success = true; cleanup: diff --git a/src/vmx/vmx.h b/src/vmx/vmx.h index 90bd7479ed81012a84c49fb4362c82235c86e381..08b62776596e1015b570726dbe44c3032de8e141 100644 --- a/src/vmx/vmx.h +++ b/src/vmx/vmx.h @@ -82,6 +82,7 @@ char *virVMXConvertToUTF8(const char *encoding, const char *string); virDomainDefPtr virVMXParseConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, + virCapsPtr caps, const char *vmx); int virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def); diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c index 2b14804de443a9c00622ec786f5fa4f64d20e599..0bbf055c06661d8967eb2b45fb946da11d0871c4 100644 --- a/tests/vmx2xmltest.c +++ b/tests/vmx2xmltest.c @@ -78,7 +78,7 @@ testCompareFiles(const char *vmx, const char *xml) if (virtTestLoadFile(vmx, &vmxData) < 0) goto cleanup; - if (!(def = virVMXParseConfig(&ctx, xmlopt, vmxData))) + if (!(def = virVMXParseConfig(&ctx, xmlopt, caps, vmxData))) goto cleanup; if (!virDomainDefCheckABIStability(def, def)) {