]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: driver: Split out cancellation of migration from qemuDomainAbortJob
authorPeter Krempa <pkrempa@redhat.com>
Thu, 5 Dec 2019 11:34:55 +0000 (12:34 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 5 Dec 2019 12:53:15 +0000 (13:53 +0100)
Following patch will refactor qemuDomainAbortJob to use a per-job-type
switch where we will need to abort a migration job in various branches.

Save some code duplication by introducing a helper.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_driver.c

index 1911073f3e45481bcd97083439cea93f1f914785..4cfc1ca9e7b9f715c198577fd0a4c10914612735 100644 (file)
@@ -13996,6 +13996,24 @@ qemuDomainGetJobStats(virDomainPtr dom,
 }
 
 
+static int
+qemuDomainAbortJobMigration(virDomainObjPtr vm)
+{
+    qemuDomainObjPrivatePtr priv = vm->privateData;
+    int ret;
+
+    VIR_DEBUG("Cancelling migration job at client request");
+
+    qemuDomainObjAbortAsyncJob(vm);
+    qemuDomainObjEnterMonitor(priv->driver, vm);
+    ret = qemuMonitorMigrateCancel(priv->mon);
+    if (qemuDomainObjExitMonitor(priv->driver, vm) < 0)
+        ret = -1;
+
+    return ret;
+}
+
+
 static int qemuDomainAbortJob(virDomainPtr dom)
 {
     virQEMUDriverPtr driver = dom->conn->privateData;
@@ -14047,12 +14065,7 @@ static int qemuDomainAbortJob(virDomainPtr dom)
         goto endjob;
     }
 
-    VIR_DEBUG("Cancelling job at client request");
-    qemuDomainObjAbortAsyncJob(vm);
-    qemuDomainObjEnterMonitor(driver, vm);
-    ret = qemuMonitorMigrateCancel(priv->mon);
-    if (qemuDomainObjExitMonitor(driver, vm) < 0)
-        ret = -1;
+    ret = qemuDomainAbortJobMigration(vm);
 
  endjob:
     qemuDomainObjEndJob(driver, vm);