From a89ba6524c01473f3e5272dc787f01f806df32bb Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 18 Feb 2020 17:10:46 +0100 Subject: [PATCH] qemuDomainBlockPivot: Move check prior to executing the pivot steps Move the check whether the job is already synchronised to the beginning of the function so that we don't try to do some of the steps necessary for pivoting prior to actually wanting to pivot. Signed-off-by: Peter Krempa Reviewed-by: Eric Blake --- src/qemu/qemu_driver.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e285e9373c..ac1e1e2f8f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -17236,6 +17236,13 @@ qemuDomainBlockPivot(virQEMUDriverPtr driver, bool blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); g_autoptr(virJSONValue) actions = NULL; + if (job->state != QEMU_BLOCKJOB_STATE_READY) { + virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, + _("block job '%s' not ready for pivot yet"), + job->name); + return -1; + } + switch ((qemuBlockJobType) job->type) { case QEMU_BLOCKJOB_TYPE_NONE: case QEMU_BLOCKJOB_TYPE_LAST: @@ -17273,13 +17280,6 @@ qemuDomainBlockPivot(virQEMUDriverPtr driver, break; } - if (job->state != QEMU_BLOCKJOB_STATE_READY) { - virReportError(VIR_ERR_BLOCK_COPY_ACTIVE, - _("block job '%s' not ready for pivot yet"), - job->name); - return -1; - } - qemuDomainObjEnterMonitor(driver, vm); if (blockdev) { int rc = 0;