Remove the live attribute and mark the definition as transient
whether the domain is runing or not.
There were only two callers left calling with live=false:
* testDomainStartState, where the domain already is active
because we assigned vm->def->id just a few lines above the call
* virDomainObjGetPersistentDef, which now only calls
virDomainObjSetDefTransient for an active domain
---
src/conf/domain_conf.c | 14 +++-----------
src/conf/domain_conf.h | 3 +--
src/libxl/libxl_domain.c | 3 +--
src/lxc/lxc_process.c | 2 +-
src/qemu/qemu_process.c | 4 ++--
src/test/test_driver.c | 2 +-
src/uml/uml_driver.c | 3 +--
7 files changed, 10 insertions(+), 21 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index baa51fd..48cfb7b 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2885,29 +2885,21 @@ virDomainObjWaitUntil(virDomainObjPtr vm,
/*
- * Mark the running VM config as transient. Ensures transient hotplug
+ * Mark the current VM config as transient. Ensures transient hotplug
* operations do not persist past shutdown.
*
* @param caps pointer to capabilities info
* @param xmlopt pointer to XML parser configuration object
* @param domain domain object pointer
- * @param live if true, run this operation even for an inactive domain.
- * this allows freely updated domain->def with runtime defaults before
- * starting the VM, which will be discarded on VM shutdown. Any cleanup
- * paths need to be sure to handle newDef if the domain is never started.
* @return 0 on success, -1 on failure
*/
int
virDomainObjSetDefTransient(virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
- virDomainObjPtr domain,
- bool live)
+ virDomainObjPtr domain)
{
int ret = -1;
- if (!virDomainObjIsActive(domain) && !live)
- return 0;
-
if (!domain->persistent)
return 0;
@@ -2937,7 +2929,7 @@ virDomainObjGetPersistentDef(virCapsPtr caps,
virDomainObjPtr domain)
{
if (virDomainObjIsActive(domain) &&
- virDomainObjSetDefTransient(caps, xmlopt, domain, false) < 0)
+ virDomainObjSetDefTransient(caps, xmlopt, domain) < 0)
return NULL;
if (domain->newDef)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index b1953b3..c182747 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2525,8 +2525,7 @@ void virDomainObjAssignDef(virDomainObjPtr domain,
virDomainDefPtr *oldDef);
int virDomainObjSetDefTransient(virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
- virDomainObjPtr domain,
- bool live);
+ virDomainObjPtr domain);
virDomainDefPtr
virDomainObjGetPersistentDef(virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 8a3866f..9fe8be0 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -1096,8 +1096,7 @@ libxlDomainStart(libxlDriverPrivatePtr driver,
VIR_FREE(managed_save_path);
}
- if (virDomainObjSetDefTransient(cfg->caps, driver->xmlopt,
- vm, true) < 0)
+ if (virDomainObjSetDefTransient(cfg->caps, driver->xmlopt, vm) < 0)
goto cleanup;
if (virDomainLockProcessStart(driver->lockManager,
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 058c3e1..07eb22a 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -1286,7 +1286,7 @@ int virLXCProcessStart(virConnectPtr conn,
* report implicit runtime defaults in the XML, like vnc listen/socket
*/
VIR_DEBUG("Setting current domain def as transient");
- if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
+ if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
goto cleanup;
/* Run an early hook to set-up missing devices */
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index e847cd1..7a4a2ca 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4447,7 +4447,7 @@ qemuProcessInit(virQEMUDriverPtr driver,
* report implicit runtime defaults in the XML, like vnc listen/socket
*/
VIR_DEBUG("Setting current domain def as transient");
- if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
+ if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
goto stop;
if (!(flags & VIR_QEMU_PROCESS_START_PRETEND)) {
@@ -5944,7 +5944,7 @@ int qemuProcessAttach(virConnectPtr conn ATTRIBUTE_UNUSED,
* report implicit runtime defaults in the XML, like vnc listen/socket
*/
VIR_DEBUG("Setting current domain def as transient");
- if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm, true) < 0)
+ if (virDomainObjSetDefTransient(caps, driver->xmlopt, vm) < 0)
goto error;
vm->def->id = qemuDriverAllocateID(driver);
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index a51eb09..fb40e87 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -601,7 +601,7 @@ testDomainStartState(testDriverPtr privconn,
if (virDomainObjSetDefTransient(privconn->caps,
privconn->xmlopt,
- dom, false) < 0) {
+ dom) < 0) {
goto cleanup;
}
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
index d68054e..a674c12 100644
--- a/src/uml/uml_driver.c
+++ b/src/uml/uml_driver.c
@@ -1099,8 +1099,7 @@ static int umlStartVMDaemon(virConnectPtr conn,
* report implicit runtime defaults in the XML, like vnc listen/socket
*/
VIR_DEBUG("Setting current domain def as transient");
- if (virDomainObjSetDefTransient(driver->caps, driver->xmlopt,
- vm, true) < 0) {
+ if (virDomainObjSetDefTransient(driver->caps, driver->xmlopt, vm) < 0) {
VIR_FORCE_CLOSE(logfd);
return -1;
}
--
2.7.3