From: Peter Krempa Date: Thu, 5 Dec 2019 11:34:55 +0000 (+0100) Subject: qemu: driver: Split out cancellation of migration from qemuDomainAbortJob X-Git-Tag: v6.0.0-rc1~489 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4ef3401eb842000ec7258a58dd83bc55cdb5df21;p=thirdparty%2Flibvirt.git qemu: driver: Split out cancellation of migration from qemuDomainAbortJob 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 Reviewed-by: Jiri Denemark --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 1911073f3e..4cfc1ca9e7 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -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);