[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 3/3] Do not check for domain liveness in virDomainObjSetDefTransient



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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]