From addb82bc5f17354bc4a584d29a69e7cdbb848fcf Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 22 Nov 2018 18:34:42 +0100 Subject: [PATCH] qemu: blockjob: Drop unnecessary calls to qemuBlockJobSyncEndDisk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If the job wasn't started, we don't need to end the synchronous job. Add a note and drop the unnecessary calls. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_blockjob.c | 4 +++- src/qemu/qemu_migration.c | 8 ++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 085e64a49d..5a2c6bb527 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -392,7 +392,9 @@ qemuBlockJobSyncBeginDisk(virDomainDiskDefPtr disk) * @disk: domain disk * * End a synchronous block job for @disk. Any pending block job event - * for the disk is processed. + * for the disk is processed. Note that it's not necessary to call this function + * in case the block job was not started successfully if + * qemuBlockJobStartupFinalize will be called. */ void qemuBlockJobSyncEndDisk(virDomainObjPtr vm, diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 87b6d0e1e4..588e61cfce 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -703,10 +703,8 @@ qemuMigrationSrcNBDCopyCancel(virQEMUDriverPtr driver, virDomainDiskDefPtr disk = vm->def->disks[i]; qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); - if (!diskPriv->blockjob->started) { - qemuBlockJobSyncEndDisk(vm, asyncJob, disk); + if (!diskPriv->blockjob->started) diskPriv->migrating = false; - } if (!diskPriv->migrating) continue; @@ -929,10 +927,8 @@ qemuMigrationSrcNBDStorageCopyOne(virQEMUDriverPtr driver, mirror_flags); } - if (rc < 0) { - qemuBlockJobSyncEndDisk(vm, QEMU_ASYNC_JOB_MIGRATION_OUT, disk); + if (rc < 0) goto cleanup; - } diskPriv->migrating = true; qemuBlockJobStarted(job); -- GitLab