]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virLXCProcessStop: Add 'cleanupFlags' parameter
authorPeter Krempa <pkrempa@redhat.com>
Tue, 28 Jun 2022 14:20:29 +0000 (16:20 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 22 Jul 2022 09:11:42 +0000 (11:11 +0200)
Add possibility for the caller to set the flags for the call to
'virLXCProcessCleanup'.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
src/lxc/lxc_driver.c
src/lxc/lxc_process.c
src/lxc/lxc_process.h

index 0d8cdcebfd38b52930e3f0a849f9fa473a8a2ffe..456d2fbae9f59e72179d25d1054d7d6e12419e35 100644 (file)
@@ -1354,7 +1354,7 @@ lxcDomainDestroyFlags(virDomainPtr dom,
         goto endjob;
 
     priv = vm->privateData;
-    ret = virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED);
+    ret = virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED, 0);
     event = virDomainEventLifecycleNewFromObj(vm,
                                      VIR_DOMAIN_EVENT_STOPPED,
                                      VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
index 9dc7d9d0d8cf1c49ff24295f6a8c75bd95abcb88..587ba1d3c1e70ba5414a93469b254bb9bb163802 100644 (file)
@@ -67,7 +67,7 @@ lxcProcessAutoDestroy(virDomainObj *dom,
     VIR_DEBUG("driver=%p dom=%s conn=%p", driver, dom->def->name, conn);
 
     VIR_DEBUG("Killing domain");
-    virLXCProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED);
+    virLXCProcessStop(driver, dom, VIR_DOMAIN_SHUTOFF_DESTROYED, 0);
     virDomainAuditStop(dom, "destroyed");
     event = virDomainEventLifecycleNewFromObj(dom,
                                      VIR_DOMAIN_EVENT_STOPPED,
@@ -108,7 +108,7 @@ virLXCProcessReboot(virLXCDriver *driver,
      * So temporarily hide the newDef and then reinstate it
      */
     savedDef = g_steal_pointer(&vm->newDef);
-    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
+    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN, 0);
     vm->newDef = savedDef;
     if (virLXCProcessStart(conn, driver, vm,
                            0, NULL, autodestroy, reason) < 0) {
@@ -687,9 +687,9 @@ static void virLXCProcessMonitorEOFNotify(virLXCMonitor *mon,
     virObjectLock(vm);
 
     priv = vm->privateData;
-    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
+    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN, 0);
     if (!priv->wantReboot) {
-        virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN);
+        virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN, 0);
         if (!priv->doneStopEvent) {
             event = virDomainEventLifecycleNewFromObj(vm,
                                              VIR_DOMAIN_EVENT_STOPPED,
@@ -841,7 +841,8 @@ static virLXCMonitor *virLXCProcessConnectMonitor(virLXCDriver *driver,
 
 int virLXCProcessStop(virLXCDriver *driver,
                       virDomainObj *vm,
-                      virDomainShutoffReason reason)
+                      virDomainShutoffReason reason,
+                      unsigned int cleanupFlags)
 {
     int rc;
     virLXCDomainObjPrivate *priv;
@@ -899,7 +900,7 @@ int virLXCProcessStop(virLXCDriver *driver,
     }
 
  cleanup:
-    virLXCProcessCleanup(driver, vm, reason, 0);
+    virLXCProcessCleanup(driver, vm, reason, cleanupFlags);
 
     return 0;
 }
@@ -1535,7 +1536,7 @@ int virLXCProcessStart(virConnectPtr conn,
     if (rc != 0) {
         virErrorPreserveLast(&err);
         if (virDomainObjIsActive(vm)) {
-            virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED);
+            virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, 0);
         } else {
             /* virLXCProcessStop() is NOP if the container is not active.
              * If there was a failure whilst creating it, cleanup manually. */
@@ -1723,7 +1724,7 @@ virLXCProcessReconnectDomain(virDomainObj *vm,
     return ret;
 
  error:
-    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED);
+    virLXCProcessStop(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED, 0);
     virDomainAuditStop(vm, "failed");
     goto cleanup;
 }
index 33ff334b742509be811a591bdbe6b684c42c8d54..1bce57809c95b3ae5bce8d91277acdceb0cfe042 100644 (file)
@@ -31,7 +31,8 @@ int virLXCProcessStart(virConnectPtr conn,
                        virDomainRunningReason reason);
 int virLXCProcessStop(virLXCDriver *driver,
                       virDomainObj *vm,
-                      virDomainShutoffReason reason);
+                      virDomainShutoffReason reason,
+                      unsigned int cleanupFlags);
 
 void virLXCProcessAutoDestroyRun(virLXCDriver *driver,
                                  virConnectPtr conn);