From 4d2ebc71ce800d252f79adef0abbd0db2ef1f54e Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 18 Nov 2014 14:19:38 +0000 Subject: [PATCH] Add stub virDomainDefineXMLFlags impls Make sure every virt driver implements virDomainDefineXMLFlags by adding a trivial passthrough from the existing impl with no flags set. --- src/bhyve/bhyve_driver.c | 13 +++++++++++-- src/esx/esx_driver.c | 11 +++++++++-- src/libxl/libxl_driver.c | 13 +++++++++++-- src/lxc/lxc_driver.c | 14 ++++++++++++-- src/openvz/openvz_driver.c | 11 ++++++++++- src/parallels/parallels_driver.c | 12 +++++++++++- src/qemu/qemu_driver.c | 13 +++++++++++-- src/test/test_driver.c | 14 ++++++++++++-- src/uml/uml_driver.c | 14 ++++++++++++-- src/vbox/vbox_common.c | 12 +++++++++++- src/vmware/vmware_driver.c | 11 ++++++++++- src/xen/xen_driver.c | 13 +++++++++++-- src/xenapi/xenapi_driver.c | 12 +++++++++++- 13 files changed, 142 insertions(+), 21 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 664e631125..125b8aa9ed 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -485,7 +485,7 @@ bhyveDomainGetXMLDesc(virDomainPtr domain, unsigned int flags) } static virDomainPtr -bhyveDomainDefineXML(virConnectPtr conn, const char *xml) +bhyveDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { bhyveConnPtr privconn = conn->privateData; virDomainPtr dom = NULL; @@ -495,6 +495,8 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml) virObjectEventPtr event = NULL; virCapsPtr caps = NULL; + virCheckFlags(0, NULL); + caps = bhyveDriverGetCapabilities(privconn); if (!caps) return NULL; @@ -504,7 +506,7 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml) VIR_DOMAIN_XML_INACTIVE)) == NULL) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (bhyveDomainAssignAddresses(def, NULL) < 0) @@ -546,6 +548,12 @@ bhyveDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +bhyveDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return bhyveDomainDefineXMLFlags(conn, xml, 0); +} + static int bhyveDomainUndefine(virDomainPtr domain) { @@ -1438,6 +1446,7 @@ static virHypervisorDriver bhyveDriver = { .domainLookupByName = bhyveDomainLookupByName, /* 1.2.2 */ .domainLookupByID = bhyveDomainLookupByID, /* 1.2.3 */ .domainDefineXML = bhyveDomainDefineXML, /* 1.2.2 */ + .domainDefineXMLFlags = bhyveDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = bhyveDomainUndefine, /* 1.2.2 */ .domainGetXMLDesc = bhyveDomainGetXMLDesc, /* 1.2.2 */ .domainIsActive = bhyveDomainIsActive, /* 1.2.2 */ diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c index e45ae2d006..1f66a0be36 100644 --- a/src/esx/esx_driver.c +++ b/src/esx/esx_driver.c @@ -3019,7 +3019,7 @@ esxDomainCreate(virDomainPtr domain) static virDomainPtr -esxDomainDefineXML(virConnectPtr conn, const char *xml) +esxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { esxPrivate *priv = conn->privateData; virDomainDefPtr def = NULL; @@ -3045,6 +3045,8 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml) virDomainPtr domain = NULL; const char *src; + virCheckFlags(0, NULL); + memset(&data, 0, sizeof(data)); if (esxVI_EnsureSession(priv->primary) < 0) @@ -3239,7 +3241,11 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml) return domain; } - +static virDomainPtr +esxDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return esxDomainDefineXMLFlags(conn, xml, 0); +} static int esxDomainUndefineFlags(virDomainPtr domain, @@ -5183,6 +5189,7 @@ static virHypervisorDriver esxDriver = { .domainCreate = esxDomainCreate, /* 0.7.0 */ .domainCreateWithFlags = esxDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = esxDomainDefineXML, /* 0.7.2 */ + .domainDefineXMLFlags = esxDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = esxDomainUndefine, /* 0.7.1 */ .domainUndefineFlags = esxDomainUndefineFlags, /* 0.9.4 */ .domainGetAutostart = esxDomainGetAutostart, /* 0.9.0 */ diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 53c87ce9a3..e0dfe7b03a 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -2367,7 +2367,7 @@ libxlDomainCreate(virDomainPtr dom) } static virDomainPtr -libxlDomainDefineXML(virConnectPtr conn, const char *xml) +libxlDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { libxlDriverPrivatePtr driver = conn->privateData; libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); @@ -2377,12 +2377,14 @@ libxlDomainDefineXML(virConnectPtr conn, const char *xml) virObjectEventPtr event = NULL; virDomainDefPtr oldDef = NULL; + virCheckFlags(0, NULL); + if (!(def = virDomainDefParseString(xml, cfg->caps, driver->xmlopt, 1 << VIR_DOMAIN_VIRT_XEN, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (!(vm = virDomainObjListAdd(driver->domains, def, @@ -2421,6 +2423,12 @@ libxlDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +libxlDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return libxlDomainDefineXMLFlags(conn, xml, 0); +} + static int libxlDomainUndefineFlags(virDomainPtr dom, unsigned int flags) @@ -4783,6 +4791,7 @@ static virHypervisorDriver libxlDriver = { .domainCreate = libxlDomainCreate, /* 0.9.0 */ .domainCreateWithFlags = libxlDomainCreateWithFlags, /* 0.9.0 */ .domainDefineXML = libxlDomainDefineXML, /* 0.9.0 */ + .domainDefineXMLFlags = libxlDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = libxlDomainUndefine, /* 0.9.0 */ .domainUndefineFlags = libxlDomainUndefineFlags, /* 0.9.4 */ .domainAttachDevice = libxlDomainAttachDevice, /* 0.9.2 */ diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 51c664f6d1..aaa73fd3d7 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -444,7 +444,8 @@ static int lxcConnectNumOfDefinedDomains(virConnectPtr conn) -static virDomainPtr lxcDomainDefineXML(virConnectPtr conn, const char *xml) +static virDomainPtr +lxcDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { virLXCDriverPtr driver = conn->privateData; virDomainDefPtr def = NULL; @@ -455,6 +456,8 @@ static virDomainPtr lxcDomainDefineXML(virConnectPtr conn, const char *xml) virLXCDriverConfigPtr cfg = virLXCDriverGetConfig(driver); virCapsPtr caps = NULL; + virCheckFlags(0, NULL); + if (!(caps = virLXCDriverGetCapabilities(driver, false))) goto cleanup; @@ -463,7 +466,7 @@ static virDomainPtr lxcDomainDefineXML(virConnectPtr conn, const char *xml) VIR_DOMAIN_XML_INACTIVE))) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (virSecurityManagerVerify(driver->securityManager, def) < 0) @@ -511,6 +514,12 @@ static virDomainPtr lxcDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +lxcDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return lxcDomainDefineXMLFlags(conn, xml, 0); +} + static int lxcDomainUndefineFlags(virDomainPtr dom, unsigned int flags) { @@ -5745,6 +5754,7 @@ static virHypervisorDriver lxcDriver = { .domainCreateWithFlags = lxcDomainCreateWithFlags, /* 0.8.2 */ .domainCreateWithFiles = lxcDomainCreateWithFiles, /* 1.1.1 */ .domainDefineXML = lxcDomainDefineXML, /* 0.4.2 */ + .domainDefineXMLFlags = lxcDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = lxcDomainUndefine, /* 0.4.2 */ .domainUndefineFlags = lxcDomainUndefineFlags, /* 0.9.4 */ .domainAttachDevice = lxcDomainAttachDevice, /* 1.0.1 */ diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index 17919bea67..7ac6a323f9 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -977,13 +977,15 @@ openvzDomainSetNetworkConfig(virConnectPtr conn, static virDomainPtr -openvzDomainDefineXML(virConnectPtr conn, const char *xml) +openvzDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { struct openvz_driver *driver = conn->privateData; virDomainDefPtr vmdef = NULL; virDomainObjPtr vm = NULL; virDomainPtr dom = NULL; + virCheckFlags(0, NULL); + openvzDriverLock(driver); if ((vmdef = virDomainDefParseString(xml, driver->caps, driver->xmlopt, 1 << VIR_DOMAIN_VIRT_OPENVZ, @@ -1059,6 +1061,12 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +openvzDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return openvzDomainDefineXMLFlags(conn, xml, 0); +} + static virDomainPtr openvzDomainCreateXML(virConnectPtr conn, const char *xml, unsigned int flags) @@ -2596,6 +2604,7 @@ static virHypervisorDriver openvzDriver = { .domainCreate = openvzDomainCreate, /* 0.3.1 */ .domainCreateWithFlags = openvzDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = openvzDomainDefineXML, /* 0.3.3 */ + .domainDefineXMLFlags = openvzDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = openvzDomainUndefine, /* 0.3.3 */ .domainUndefineFlags = openvzDomainUndefineFlags, /* 0.9.4 */ .domainGetAutostart = openvzDomainGetAutostart, /* 0.4.6 */ diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c index 08d2e30513..5b04d935fe 100644 --- a/src/parallels/parallels_driver.c +++ b/src/parallels/parallels_driver.c @@ -658,13 +658,15 @@ parallelsDomainGetAutostart(virDomainPtr domain, int *autostart) } static virDomainPtr -parallelsDomainDefineXML(virConnectPtr conn, const char *xml) +parallelsDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { parallelsConnPtr privconn = conn->privateData; virDomainPtr retdom = NULL; virDomainDefPtr def; virDomainObjPtr olddom = NULL; + virCheckFlags(0, NULL); + parallelsDriverLock(privconn); if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt, 1 << VIR_DOMAIN_VIRT_PARALLELS, @@ -712,6 +714,13 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml) return retdom; } +static virDomainPtr +parallelsDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return parallelsDomainDefineXMLFlags(conn, xml, 0); +} + + static int parallelsNodeGetInfo(virConnectPtr conn ATTRIBUTE_UNUSED, virNodeInfoPtr nodeinfo) @@ -973,6 +982,7 @@ static virHypervisorDriver parallelsDriver = { .domainCreate = parallelsDomainCreate, /* 0.10.0 */ .domainCreateWithFlags = parallelsDomainCreateWithFlags, /* 1.2.10 */ .domainDefineXML = parallelsDomainDefineXML, /* 0.10.0 */ + .domainDefineXMLFlags = parallelsDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = parallelsDomainUndefine, /* 1.2.10 */ .domainUndefineFlags = parallelsDomainUndefineFlags, /* 1.2.10 */ .domainIsActive = parallelsDomainIsActive, /* 1.2.10 */ diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index cdf4173809..458d5fb374 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6663,7 +6663,7 @@ qemuDomainCreate(virDomainPtr dom) return qemuDomainCreateWithFlags(dom, 0); } -static virDomainPtr qemuDomainDefineXML(virConnectPtr conn, const char *xml) +static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { virQEMUDriverPtr driver = conn->privateData; virDomainDefPtr def = NULL; @@ -6675,6 +6675,8 @@ static virDomainPtr qemuDomainDefineXML(virConnectPtr conn, const char *xml) virQEMUDriverConfigPtr cfg; virCapsPtr caps = NULL; + virCheckFlags(0, NULL); + cfg = virQEMUDriverGetConfig(driver); if (!(caps = virQEMUDriverGetCapabilities(driver, false))) @@ -6685,7 +6687,7 @@ static virDomainPtr qemuDomainDefineXML(virConnectPtr conn, const char *xml) VIR_DOMAIN_XML_INACTIVE))) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (virSecurityManagerVerify(driver->securityManager, def) < 0) @@ -6756,6 +6758,12 @@ static virDomainPtr qemuDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +qemuDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return qemuDomainDefineXMLFlags(conn, xml, 0); +} + static int qemuDomainUndefineFlags(virDomainPtr dom, unsigned int flags) @@ -18892,6 +18900,7 @@ static virHypervisorDriver qemuDriver = { .domainCreate = qemuDomainCreate, /* 0.2.0 */ .domainCreateWithFlags = qemuDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = qemuDomainDefineXML, /* 0.2.0 */ + .domainDefineXMLFlags = qemuDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = qemuDomainUndefine, /* 0.2.0 */ .domainUndefineFlags = qemuDomainUndefineFlags, /* 0.9.4 */ .domainAttachDevice = qemuDomainAttachDevice, /* 0.4.1 */ diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4b7fea1639..fdaba4e737 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -2927,8 +2927,9 @@ static int testConnectListDefinedDomains(virConnectPtr conn, return n; } -static virDomainPtr testDomainDefineXML(virConnectPtr conn, - const char *xml) +static virDomainPtr testDomainDefineXMLFlags(virConnectPtr conn, + const char *xml, + unsigned int flags) { testConnPtr privconn = conn->privateData; virDomainPtr ret = NULL; @@ -2937,6 +2938,8 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn, virObjectEventPtr event = NULL; virDomainDefPtr oldDef = NULL; + virCheckFlags(0, NULL); + testDriverLock(privconn); if ((def = virDomainDefParseString(xml, privconn->caps, privconn->xmlopt, 1 << VIR_DOMAIN_VIRT_TEST, @@ -2975,6 +2978,12 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn, return ret; } +static virDomainPtr +testDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return testDomainDefineXMLFlags(conn, xml, 0); +} + static char *testDomainGetMetadata(virDomainPtr dom, int type, const char *uri, @@ -7372,6 +7381,7 @@ static virHypervisorDriver testDriver = { .domainCreate = testDomainCreate, /* 0.1.11 */ .domainCreateWithFlags = testDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = testDomainDefineXML, /* 0.1.11 */ + .domainDefineXMLFlags = testDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = testDomainUndefine, /* 0.1.11 */ .domainUndefineFlags = testDomainUndefineFlags, /* 0.9.4 */ .domainGetAutostart = testDomainGetAutostart, /* 0.3.2 */ diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index b01d631d3d..bcd3c9e03c 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -2075,20 +2075,23 @@ static int umlDomainCreate(virDomainPtr dom) return umlDomainCreateWithFlags(dom, 0); } -static virDomainPtr umlDomainDefineXML(virConnectPtr conn, const char *xml) +static virDomainPtr +umlDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { struct uml_driver *driver = conn->privateData; virDomainDefPtr def; virDomainObjPtr vm = NULL; virDomainPtr dom = NULL; + virCheckFlags(0, NULL); + umlDriverLock(driver); if (!(def = virDomainDefParseString(xml, driver->caps, driver->xmlopt, 1 << VIR_DOMAIN_VIRT_UML, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (!(vm = virDomainObjListAdd(driver->domains, def, @@ -2117,6 +2120,12 @@ static virDomainPtr umlDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +umlDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return umlDomainDefineXMLFlags(conn, xml, 0); +} + static int umlDomainUndefineFlags(virDomainPtr dom, unsigned int flags) { @@ -2958,6 +2967,7 @@ static virHypervisorDriver umlDriver = { .domainCreate = umlDomainCreate, /* 0.5.0 */ .domainCreateWithFlags = umlDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = umlDomainDefineXML, /* 0.5.0 */ + .domainDefineXMLFlags = umlDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = umlDomainUndefine, /* 0.5.0 */ .domainUndefineFlags = umlDomainUndefineFlags, /* 0.9.4 */ .domainAttachDevice = umlDomainAttachDevice, /* 0.8.4 */ diff --git a/src/vbox/vbox_common.c b/src/vbox/vbox_common.c index 7887a8b2d8..6fdbb9bab2 100644 --- a/src/vbox/vbox_common.c +++ b/src/vbox/vbox_common.c @@ -1840,7 +1840,8 @@ vboxAttachSharedFolder(virDomainDefPtr def, vboxGlobalData *data, IMachine *mach } } -static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) +static virDomainPtr +vboxDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { vboxGlobalData *data = conn->privateData; IMachine *machine = NULL; @@ -1851,6 +1852,8 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) char uuidstr[VIR_UUID_STRING_BUFLEN]; virDomainPtr ret = NULL; + virCheckFlags(0, NULL); + if (!data->vboxObj) return ret; @@ -1978,6 +1981,12 @@ static virDomainPtr vboxDomainDefineXML(virConnectPtr conn, const char *xml) return NULL; } +static virDomainPtr +vboxDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return vboxDomainDefineXMLFlags(conn, xml, 0); +} + static void detachDevices_common(vboxGlobalData *data, vboxIIDUnion *iidu) { @@ -7617,6 +7626,7 @@ virHypervisorDriver vboxCommonDriver = { .domainCreate = vboxDomainCreate, /* 0.6.3 */ .domainCreateWithFlags = vboxDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = vboxDomainDefineXML, /* 0.6.3 */ + .domainDefineXMLFlags = vboxDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = vboxDomainUndefine, /* 0.6.3 */ .domainUndefineFlags = vboxDomainUndefineFlags, /* 0.9.5 */ .domainAttachDevice = vboxDomainAttachDevice, /* 0.6.3 */ diff --git a/src/vmware/vmware_driver.c b/src/vmware/vmware_driver.c index 5379876548..dba9bca3b4 100644 --- a/src/vmware/vmware_driver.c +++ b/src/vmware/vmware_driver.c @@ -358,7 +358,7 @@ vmwareStartVM(struct vmware_driver *driver, virDomainObjPtr vm) } static virDomainPtr -vmwareDomainDefineXML(virConnectPtr conn, const char *xml) +vmwareDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { struct vmware_driver *driver = conn->privateData; virDomainDefPtr vmdef = NULL; @@ -371,6 +371,8 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml) vmwareDomainPtr pDomain = NULL; virVMXContext ctx; + virCheckFlags(0, NULL); + ctx.formatFileName = vmwareCopyVMXFileName; vmwareDriverLock(driver); @@ -427,6 +429,12 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml) return dom; } +static virDomainPtr +vmwareDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return vmwareDomainDefineXMLFlags(conn, xml, 0); +} + static int vmwareDomainShutdownFlags(virDomainPtr dom, unsigned int flags) @@ -1211,6 +1219,7 @@ static virHypervisorDriver vmwareDriver = { .domainCreate = vmwareDomainCreate, /* 0.8.7 */ .domainCreateWithFlags = vmwareDomainCreateWithFlags, /* 0.8.7 */ .domainDefineXML = vmwareDomainDefineXML, /* 0.8.7 */ + .domainDefineXMLFlags = vmwareDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = vmwareDomainUndefine, /* 0.8.7 */ .domainUndefineFlags = vmwareDomainUndefineFlags, /* 0.9.4 */ .domainIsActive = vmwareDomainIsActive, /* 0.8.7 */ diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c index c9f4159ea4..0318d35e01 100644 --- a/src/xen/xen_driver.c +++ b/src/xen/xen_driver.c @@ -1882,18 +1882,20 @@ xenUnifiedDomainCreate(virDomainPtr dom) } static virDomainPtr -xenUnifiedDomainDefineXML(virConnectPtr conn, const char *xml) +xenUnifiedDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { xenUnifiedPrivatePtr priv = conn->privateData; virDomainDefPtr def = NULL; virDomainPtr ret = NULL; + virCheckFlags(0, NULL); + if (!(def = virDomainDefParseString(xml, priv->caps, priv->xmlopt, 1 << VIR_DOMAIN_VIRT_XEN, VIR_DOMAIN_XML_INACTIVE))) goto cleanup; - if (virDomainDefineXMLEnsureACL(conn, def) < 0) + if (virDomainDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; if (priv->xendConfigVersion < XEND_CONFIG_VERSION_3_0_4) { @@ -1915,6 +1917,12 @@ xenUnifiedDomainDefineXML(virConnectPtr conn, const char *xml) return ret; } +static virDomainPtr +xenUnifiedDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return xenUnifiedDomainDefineXMLFlags(conn, xml, 0); +} + static int xenUnifiedDomainUndefineFlags(virDomainPtr dom, unsigned int flags) { @@ -2796,6 +2804,7 @@ static virHypervisorDriver xenUnifiedDriver = { .domainCreate = xenUnifiedDomainCreate, /* 0.1.1 */ .domainCreateWithFlags = xenUnifiedDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = xenUnifiedDomainDefineXML, /* 0.1.1 */ + .domainDefineXMLFlags = xenUnifiedDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = xenUnifiedDomainUndefine, /* 0.1.1 */ .domainUndefineFlags = xenUnifiedDomainUndefineFlags, /* 0.9.4 */ .domainAttachDevice = xenUnifiedDomainAttachDevice, /* 0.1.9 */ diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c index 7048556b9d..1ab433a6ae 100644 --- a/src/xenapi/xenapi_driver.c +++ b/src/xenapi/xenapi_driver.c @@ -1714,12 +1714,15 @@ xenapiDomainCreate(virDomainPtr dom) * Returns 0 on success or -1 in case of error */ static virDomainPtr -xenapiDomainDefineXML(virConnectPtr conn, const char *xml) +xenapiDomainDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int flags) { struct _xenapiPrivate *priv = conn->privateData; xen_vm_record *record = NULL; xen_vm vm = NULL; virDomainPtr domP = NULL; + + virCheckFlags(0, NULL); + if (!priv->caps) return NULL; virDomainDefPtr defPtr = virDomainDefParseString(xml, @@ -1752,6 +1755,12 @@ xenapiDomainDefineXML(virConnectPtr conn, const char *xml) return domP; } +static virDomainPtr +xenapiDomainDefineXML(virConnectPtr conn, const char *xml) +{ + return xenapiDomainDefineXMLFlags(conn, xml, 0); +} + /* * xenapiDomainUndefineFlags * @@ -2002,6 +2011,7 @@ static virHypervisorDriver xenapiDriver = { .domainCreate = xenapiDomainCreate, /* 0.8.0 */ .domainCreateWithFlags = xenapiDomainCreateWithFlags, /* 0.8.2 */ .domainDefineXML = xenapiDomainDefineXML, /* 0.8.0 */ + .domainDefineXMLFlags = xenapiDomainDefineXMLFlags, /* 1.2.12 */ .domainUndefine = xenapiDomainUndefine, /* 0.8.0 */ .domainUndefineFlags = xenapiDomainUndefineFlags, /* 0.9.5 */ .domainGetAutostart = xenapiDomainGetAutostart, /* 0.8.0 */ -- 2.47.2