From 4ef3401eb842000ec7258a58dd83bc55cdb5df21 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 5 Dec 2019 12:34:55 +0100 Subject: [PATCH] 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 --- src/qemu/qemu_driver.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) 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); -- GitLab