mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
undefine: Implement undefineFlags for all other drivers
This commit is contained in:
parent
67d33735ec
commit
39babffb73
@ -3290,7 +3290,8 @@ esxDomainDefineXML(virConnectPtr conn, const char *xml)
|
|||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
esxDomainUndefine(virDomainPtr domain)
|
esxDomainUndefineFlags(virDomainPtr domain,
|
||||||
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
int result = -1;
|
int result = -1;
|
||||||
esxPrivate *priv = domain->conn->privateData;
|
esxPrivate *priv = domain->conn->privateData;
|
||||||
@ -3299,6 +3300,8 @@ esxDomainUndefine(virDomainPtr domain)
|
|||||||
esxVI_String *propertyNameList = NULL;
|
esxVI_String *propertyNameList = NULL;
|
||||||
esxVI_VirtualMachinePowerState powerState;
|
esxVI_VirtualMachinePowerState powerState;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
if (priv->vCenter != NULL) {
|
if (priv->vCenter != NULL) {
|
||||||
ctx = priv->vCenter;
|
ctx = priv->vCenter;
|
||||||
} else {
|
} else {
|
||||||
@ -3339,6 +3342,11 @@ esxDomainUndefine(virDomainPtr domain)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
esxDomainUndefine(virDomainPtr domain)
|
||||||
|
{
|
||||||
|
return esxDomainUndefineFlags(domain, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
esxDomainGetAutostart(virDomainPtr domain, int *autostart)
|
esxDomainGetAutostart(virDomainPtr domain, int *autostart)
|
||||||
@ -4747,6 +4755,7 @@ static virDriver esxDriver = {
|
|||||||
.domainCreateWithFlags = esxDomainCreateWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = esxDomainCreateWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = esxDomainDefineXML, /* 0.7.2 */
|
.domainDefineXML = esxDomainDefineXML, /* 0.7.2 */
|
||||||
.domainUndefine = esxDomainUndefine, /* 0.7.1 */
|
.domainUndefine = esxDomainUndefine, /* 0.7.1 */
|
||||||
|
.domainUndefineFlags = esxDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainGetAutostart = esxDomainGetAutostart, /* 0.9.0 */
|
.domainGetAutostart = esxDomainGetAutostart, /* 0.9.0 */
|
||||||
.domainSetAutostart = esxDomainSetAutostart, /* 0.9.0 */
|
.domainSetAutostart = esxDomainSetAutostart, /* 0.9.0 */
|
||||||
.domainGetSchedulerType = esxDomainGetSchedulerType, /* 0.7.0 */
|
.domainGetSchedulerType = esxDomainGetSchedulerType, /* 0.7.0 */
|
||||||
|
@ -458,13 +458,16 @@ cleanup:
|
|||||||
return dom;
|
return dom;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int lxcDomainUndefine(virDomainPtr dom)
|
static int lxcDomainUndefineFlags(virDomainPtr dom,
|
||||||
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
lxc_driver_t *driver = dom->conn->privateData;
|
lxc_driver_t *driver = dom->conn->privateData;
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
lxcDriverLock(driver);
|
lxcDriverLock(driver);
|
||||||
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
||||||
if (!vm) {
|
if (!vm) {
|
||||||
@ -509,6 +512,11 @@ cleanup:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int lxcDomainUndefine(virDomainPtr dom)
|
||||||
|
{
|
||||||
|
return lxcDomainUndefineFlags(dom, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int lxcDomainGetInfo(virDomainPtr dom,
|
static int lxcDomainGetInfo(virDomainPtr dom,
|
||||||
virDomainInfoPtr info)
|
virDomainInfoPtr info)
|
||||||
{
|
{
|
||||||
@ -2935,6 +2943,7 @@ static virDriver lxcDriver = {
|
|||||||
.domainCreateWithFlags = lxcDomainStartWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = lxcDomainStartWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = lxcDomainDefine, /* 0.4.2 */
|
.domainDefineXML = lxcDomainDefine, /* 0.4.2 */
|
||||||
.domainUndefine = lxcDomainUndefine, /* 0.4.2 */
|
.domainUndefine = lxcDomainUndefine, /* 0.4.2 */
|
||||||
|
.domainUndefineFlags = lxcDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainGetAutostart = lxcDomainGetAutostart, /* 0.7.0 */
|
.domainGetAutostart = lxcDomainGetAutostart, /* 0.7.0 */
|
||||||
.domainSetAutostart = lxcDomainSetAutostart, /* 0.7.0 */
|
.domainSetAutostart = lxcDomainSetAutostart, /* 0.7.0 */
|
||||||
.domainGetSchedulerType = lxcGetSchedulerType, /* 0.5.0 */
|
.domainGetSchedulerType = lxcGetSchedulerType, /* 0.5.0 */
|
||||||
|
@ -1085,13 +1085,16 @@ openvzDomainCreate(virDomainPtr dom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
openvzDomainUndefine(virDomainPtr dom)
|
openvzDomainUndefineFlags(virDomainPtr dom,
|
||||||
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
struct openvz_driver *driver = dom->conn->privateData;
|
struct openvz_driver *driver = dom->conn->privateData;
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
const char *prog[] = { VZCTL, "--quiet", "destroy", PROGRAM_SENTINAL, NULL };
|
const char *prog[] = { VZCTL, "--quiet", "destroy", PROGRAM_SENTINAL, NULL };
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
openvzDriverLock(driver);
|
openvzDriverLock(driver);
|
||||||
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
||||||
if (!vm) {
|
if (!vm) {
|
||||||
@ -1122,6 +1125,11 @@ cleanup:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
openvzDomainUndefine(virDomainPtr dom)
|
||||||
|
{
|
||||||
|
return openvzDomainUndefineFlags(dom, 0);
|
||||||
|
}
|
||||||
static int
|
static int
|
||||||
openvzDomainSetAutostart(virDomainPtr dom, int autostart)
|
openvzDomainSetAutostart(virDomainPtr dom, int autostart)
|
||||||
{
|
{
|
||||||
@ -1627,6 +1635,7 @@ static virDriver openvzDriver = {
|
|||||||
.domainCreateWithFlags = openvzDomainCreateWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = openvzDomainCreateWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = openvzDomainDefineXML, /* 0.3.3 */
|
.domainDefineXML = openvzDomainDefineXML, /* 0.3.3 */
|
||||||
.domainUndefine = openvzDomainUndefine, /* 0.3.3 */
|
.domainUndefine = openvzDomainUndefine, /* 0.3.3 */
|
||||||
|
.domainUndefineFlags = openvzDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainGetAutostart = openvzDomainGetAutostart, /* 0.4.6 */
|
.domainGetAutostart = openvzDomainGetAutostart, /* 0.4.6 */
|
||||||
.domainSetAutostart = openvzDomainSetAutostart, /* 0.4.6 */
|
.domainSetAutostart = openvzDomainSetAutostart, /* 0.4.6 */
|
||||||
.isEncrypted = openvzIsEncrypted, /* 0.7.3 */
|
.isEncrypted = openvzIsEncrypted, /* 0.7.3 */
|
||||||
|
@ -2535,12 +2535,16 @@ static int testDomainCreate(virDomainPtr domain) {
|
|||||||
return testDomainCreateWithFlags(domain, 0);
|
return testDomainCreateWithFlags(domain, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int testDomainUndefine(virDomainPtr domain) {
|
static int testDomainUndefineFlags(virDomainPtr domain,
|
||||||
|
unsigned int flags)
|
||||||
|
{
|
||||||
testConnPtr privconn = domain->conn->privateData;
|
testConnPtr privconn = domain->conn->privateData;
|
||||||
virDomainObjPtr privdom;
|
virDomainObjPtr privdom;
|
||||||
virDomainEventPtr event = NULL;
|
virDomainEventPtr event = NULL;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
testDriverLock(privconn);
|
testDriverLock(privconn);
|
||||||
privdom = virDomainFindByName(&privconn->domains,
|
privdom = virDomainFindByName(&privconn->domains,
|
||||||
domain->name);
|
domain->name);
|
||||||
@ -2573,6 +2577,11 @@ cleanup:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int testDomainUndefine(virDomainPtr domain)
|
||||||
|
{
|
||||||
|
return testDomainUndefineFlags(domain, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int testDomainGetAutostart(virDomainPtr domain,
|
static int testDomainGetAutostart(virDomainPtr domain,
|
||||||
int *autostart)
|
int *autostart)
|
||||||
{
|
{
|
||||||
@ -5556,6 +5565,7 @@ static virDriver testDriver = {
|
|||||||
.domainCreateWithFlags = testDomainCreateWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = testDomainCreateWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = testDomainDefineXML, /* 0.1.11 */
|
.domainDefineXML = testDomainDefineXML, /* 0.1.11 */
|
||||||
.domainUndefine = testDomainUndefine, /* 0.1.11 */
|
.domainUndefine = testDomainUndefine, /* 0.1.11 */
|
||||||
|
.domainUndefineFlags = testDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainGetAutostart = testDomainGetAutostart, /* 0.3.2 */
|
.domainGetAutostart = testDomainGetAutostart, /* 0.3.2 */
|
||||||
.domainSetAutostart = testDomainSetAutostart, /* 0.3.2 */
|
.domainSetAutostart = testDomainSetAutostart, /* 0.3.2 */
|
||||||
.domainGetSchedulerType = testDomainGetSchedulerType, /* 0.3.2 */
|
.domainGetSchedulerType = testDomainGetSchedulerType, /* 0.3.2 */
|
||||||
|
@ -1778,11 +1778,15 @@ cleanup:
|
|||||||
return dom;
|
return dom;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int umlDomainUndefine(virDomainPtr dom) {
|
static int umlDomainUndefineFlags(virDomainPtr dom,
|
||||||
|
unsigned int flags)
|
||||||
|
{
|
||||||
struct uml_driver *driver = dom->conn->privateData;
|
struct uml_driver *driver = dom->conn->privateData;
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
umlDriverLock(driver);
|
umlDriverLock(driver);
|
||||||
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
||||||
if (!vm) {
|
if (!vm) {
|
||||||
@ -1819,6 +1823,11 @@ cleanup:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int umlDomainUndefine(virDomainPtr dom)
|
||||||
|
{
|
||||||
|
return umlDomainUndefineFlags(dom, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int umlDomainAttachUmlDisk(struct uml_driver *driver,
|
static int umlDomainAttachUmlDisk(struct uml_driver *driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
virDomainDiskDefPtr disk)
|
virDomainDiskDefPtr disk)
|
||||||
@ -2427,6 +2436,7 @@ static virDriver umlDriver = {
|
|||||||
.domainCreateWithFlags = umlDomainStartWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = umlDomainStartWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = umlDomainDefine, /* 0.5.0 */
|
.domainDefineXML = umlDomainDefine, /* 0.5.0 */
|
||||||
.domainUndefine = umlDomainUndefine, /* 0.5.0 */
|
.domainUndefine = umlDomainUndefine, /* 0.5.0 */
|
||||||
|
.domainUndefineFlags = umlDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainAttachDevice = umlDomainAttachDevice, /* 0.8.4 */
|
.domainAttachDevice = umlDomainAttachDevice, /* 0.8.4 */
|
||||||
.domainAttachDeviceFlags = umlDomainAttachDeviceFlags, /* 0.8.4 */
|
.domainAttachDeviceFlags = umlDomainAttachDeviceFlags, /* 0.8.4 */
|
||||||
.domainDetachDevice = umlDomainDetachDevice, /* 0.8.4 */
|
.domainDetachDevice = umlDomainDetachDevice, /* 0.8.4 */
|
||||||
|
@ -609,12 +609,15 @@ vmwareDomainCreate(virDomainPtr dom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
vmwareDomainUndefine(virDomainPtr dom)
|
vmwareDomainUndefineFlags(virDomainPtr dom,
|
||||||
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
struct vmware_driver *driver = dom->conn->privateData;
|
struct vmware_driver *driver = dom->conn->privateData;
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
|
|
||||||
vmwareDriverLock(driver);
|
vmwareDriverLock(driver);
|
||||||
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
|
||||||
|
|
||||||
@ -650,6 +653,12 @@ vmwareDomainUndefine(virDomainPtr dom)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
vmwareDomainUndefine(virDomainPtr dom)
|
||||||
|
{
|
||||||
|
return vmwareDomainUndefineFlags(dom, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static virDomainPtr
|
static virDomainPtr
|
||||||
vmwareDomainLookupByID(virConnectPtr conn, int id)
|
vmwareDomainLookupByID(virConnectPtr conn, int id)
|
||||||
{
|
{
|
||||||
@ -969,6 +978,7 @@ static virDriver vmwareDriver = {
|
|||||||
.domainCreateWithFlags = vmwareDomainCreateWithFlags, /* 0.8.7 */
|
.domainCreateWithFlags = vmwareDomainCreateWithFlags, /* 0.8.7 */
|
||||||
.domainDefineXML = vmwareDomainDefineXML, /* 0.8.7 */
|
.domainDefineXML = vmwareDomainDefineXML, /* 0.8.7 */
|
||||||
.domainUndefine = vmwareDomainUndefine, /* 0.8.7 */
|
.domainUndefine = vmwareDomainUndefine, /* 0.8.7 */
|
||||||
|
.domainUndefineFlags = vmwareDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainIsActive = vmwareDomainIsActive, /* 0.8.7 */
|
.domainIsActive = vmwareDomainIsActive, /* 0.8.7 */
|
||||||
.domainIsPersistent = vmwareDomainIsPersistent, /* 0.8.7 */
|
.domainIsPersistent = vmwareDomainIsPersistent, /* 0.8.7 */
|
||||||
};
|
};
|
||||||
|
@ -1527,11 +1527,12 @@ xenUnifiedDomainDefineXML (virConnectPtr conn, const char *xml)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
xenUnifiedDomainUndefine (virDomainPtr dom)
|
xenUnifiedDomainUndefineFlags (virDomainPtr dom, unsigned int flags)
|
||||||
{
|
{
|
||||||
GET_PRIVATE(dom->conn);
|
GET_PRIVATE(dom->conn);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
virCheckFlags(0, -1);
|
||||||
for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
|
for (i = 0; i < XEN_UNIFIED_NR_DRIVERS; ++i)
|
||||||
if (priv->opened[i] && drivers[i]->domainUndefine &&
|
if (priv->opened[i] && drivers[i]->domainUndefine &&
|
||||||
drivers[i]->domainUndefine (dom) == 0)
|
drivers[i]->domainUndefine (dom) == 0)
|
||||||
@ -1540,6 +1541,11 @@ xenUnifiedDomainUndefine (virDomainPtr dom)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
xenUnifiedDomainUndefine (virDomainPtr dom) {
|
||||||
|
return xenUnifiedDomainUndefineFlags(dom, 0);
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
xenUnifiedDomainAttachDevice (virDomainPtr dom, const char *xml)
|
xenUnifiedDomainAttachDevice (virDomainPtr dom, const char *xml)
|
||||||
{
|
{
|
||||||
@ -2223,6 +2229,7 @@ static virDriver xenUnifiedDriver = {
|
|||||||
.domainCreateWithFlags = xenUnifiedDomainCreateWithFlags, /* 0.8.2 */
|
.domainCreateWithFlags = xenUnifiedDomainCreateWithFlags, /* 0.8.2 */
|
||||||
.domainDefineXML = xenUnifiedDomainDefineXML, /* 0.1.1 */
|
.domainDefineXML = xenUnifiedDomainDefineXML, /* 0.1.1 */
|
||||||
.domainUndefine = xenUnifiedDomainUndefine, /* 0.1.1 */
|
.domainUndefine = xenUnifiedDomainUndefine, /* 0.1.1 */
|
||||||
|
.domainUndefineFlags = xenUnifiedDomainUndefineFlags, /* 0.9.4 */
|
||||||
.domainAttachDevice = xenUnifiedDomainAttachDevice, /* 0.1.9 */
|
.domainAttachDevice = xenUnifiedDomainAttachDevice, /* 0.1.9 */
|
||||||
.domainAttachDeviceFlags = xenUnifiedDomainAttachDeviceFlags, /* 0.7.7 */
|
.domainAttachDeviceFlags = xenUnifiedDomainAttachDeviceFlags, /* 0.7.7 */
|
||||||
.domainDetachDevice = xenUnifiedDomainDetachDevice, /* 0.1.9 */
|
.domainDetachDevice = xenUnifiedDomainDetachDevice, /* 0.1.9 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user