diff --git a/src/qemu/qemu_blockjob.c b/src/qemu/qemu_blockjob.c index 617e4ee5644ff8844bd2670ce2e5fad6a5583737..e0dfb88c1c0ef4ecaaf76cfd7c620cc4ceeebff9 100644 --- a/src/qemu/qemu_blockjob.c +++ b/src/qemu/qemu_blockjob.c @@ -44,7 +44,6 @@ VIR_LOG_INIT("qemu.qemu_blockjob"); /** * qemuBlockJobUpdate: - * @driver: qemu driver * @vm: domain * @disk: domain disk * @error: error (output parameter) @@ -55,20 +54,20 @@ VIR_LOG_INIT("qemu.qemu_blockjob"); * Returns the block job event processed or -1 if there was no pending event. */ int -qemuBlockJobUpdate(virQEMUDriverPtr driver, - virDomainObjPtr vm, +qemuBlockJobUpdate(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob, virDomainDiskDefPtr disk, char **error) { qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); + qemuDomainObjPrivatePtr priv = vm->privateData; int status = diskPriv->blockJobStatus; if (error) *error = NULL; if (status != -1) { - qemuBlockJobEventProcess(driver, vm, disk, asyncJob, + qemuBlockJobEventProcess(priv->driver, vm, disk, asyncJob, diskPriv->blockJobType, diskPriv->blockJobStatus); diskPriv->blockJobStatus = -1; @@ -244,7 +243,6 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk) /** * qemuBlockJobSyncEnd: - * @driver: qemu driver * @vm: domain * @disk: domain disk * @@ -252,12 +250,11 @@ qemuBlockJobSyncBegin(virDomainDiskDefPtr disk) * for the disk is processed. */ void -qemuBlockJobSyncEnd(virQEMUDriverPtr driver, - virDomainObjPtr vm, +qemuBlockJobSyncEnd(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob, virDomainDiskDefPtr disk) { VIR_DEBUG("disk=%s", disk->dst); - qemuBlockJobUpdate(driver, vm, asyncJob, disk, NULL); + qemuBlockJobUpdate(vm, asyncJob, disk, NULL); QEMU_DOMAIN_DISK_PRIVATE(disk)->blockJobSync = false; } diff --git a/src/qemu/qemu_blockjob.h b/src/qemu/qemu_blockjob.h index e71d691c9e20129332e302ee02b6e870e7c4c06f..cee3ee21c40393b67c860cefaa22eaff09c85594 100644 --- a/src/qemu/qemu_blockjob.h +++ b/src/qemu/qemu_blockjob.h @@ -26,8 +26,7 @@ # include "qemu_conf.h" # include "qemu_domain.h" -int qemuBlockJobUpdate(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuBlockJobUpdate(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob, virDomainDiskDefPtr disk, char **error); @@ -39,8 +38,7 @@ void qemuBlockJobEventProcess(virQEMUDriverPtr driver, int status); void qemuBlockJobSyncBegin(virDomainDiskDefPtr disk); -void qemuBlockJobSyncEnd(virQEMUDriverPtr driver, - virDomainObjPtr vm, +void qemuBlockJobSyncEnd(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob, virDomainDiskDefPtr disk); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index c129321a5c2564347befe50a507bfe1570e64149..b03eb3042dc0fb1aeda728b780d65fdd3f461ded 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -16934,19 +16934,19 @@ qemuDomainBlockJobAbort(virDomainPtr dom, * block jobs from confusing us. */ if (!async) { qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); - qemuBlockJobUpdate(driver, vm, QEMU_ASYNC_JOB_NONE, disk, NULL); + qemuBlockJobUpdate(vm, QEMU_ASYNC_JOB_NONE, disk, NULL); while (diskPriv->blockjob) { if (virDomainObjWait(vm) < 0) { ret = -1; goto endjob; } - qemuBlockJobUpdate(driver, vm, QEMU_ASYNC_JOB_NONE, disk, NULL); + qemuBlockJobUpdate(vm, QEMU_ASYNC_JOB_NONE, disk, NULL); } } endjob: if (disk) - qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); + qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk); qemuDomainObjEndJob(driver, vm); cleanup: diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 7602a304c57f7a5c7367b069b1822bfc4b6cb63e..f01bb64f61e93fb7ef38962d755a15bff6c68d4b 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -464,7 +464,6 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver, /** * qemuMigrationSrcDriveMirrorReady: - * @driver: qemu driver * @vm: domain * * Check the status of all drive-mirrors started by @@ -476,8 +475,7 @@ qemuMigrationDstStopNBDServer(virQEMUDriverPtr driver, * -1 on error. */ static int -qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, - virDomainObjPtr vm, +qemuMigrationSrcDriveMirrorReady(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob) { size_t i; @@ -492,7 +490,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, if (!diskPriv->migrating) continue; - status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); + status = qemuBlockJobUpdate(vm, asyncJob, disk, &error); if (status == VIR_DOMAIN_BLOCK_JOB_FAILED) { if (error) { virReportError(VIR_ERR_OPERATION_FAILED, @@ -532,8 +530,7 @@ qemuMigrationSrcDriveMirrorReady(virQEMUDriverPtr driver, * -2 all mirrors are gone but some of them failed. */ static int -qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, - virDomainObjPtr vm, +qemuMigrationDriveMirrorCancelled(virDomainObjPtr vm, qemuDomainAsyncJob asyncJob, bool check) { @@ -552,7 +549,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, if (!diskPriv->migrating) continue; - status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); + status = qemuBlockJobUpdate(vm, asyncJob, disk, &error); switch (status) { case VIR_DOMAIN_BLOCK_JOB_FAILED: if (check) { @@ -569,7 +566,7 @@ qemuMigrationDriveMirrorCancelled(virQEMUDriverPtr driver, ATTRIBUTE_FALLTHROUGH; case VIR_DOMAIN_BLOCK_JOB_CANCELED: case VIR_DOMAIN_BLOCK_JOB_COMPLETED: - qemuBlockJobSyncEnd(driver, vm, asyncJob, disk); + qemuBlockJobSyncEnd(vm, asyncJob, disk); diskPriv->migrating = false; break; @@ -633,7 +630,7 @@ qemuMigrationSrcCancelOneDriveMirror(virQEMUDriverPtr driver, int status; int rv; - status = qemuBlockJobUpdate(driver, vm, asyncJob, disk, &error); + status = qemuBlockJobUpdate(vm, asyncJob, disk, &error); switch (status) { case VIR_DOMAIN_BLOCK_JOB_FAILED: case VIR_DOMAIN_BLOCK_JOB_CANCELED: @@ -716,12 +713,12 @@ qemuMigrationSrcCancelDriveMirror(virQEMUDriverPtr driver, err = virSaveLastError(); failed = true; } - qemuBlockJobSyncEnd(driver, vm, asyncJob, disk); + qemuBlockJobSyncEnd(vm, asyncJob, disk); diskPriv->migrating = false; } } - while ((rv = qemuMigrationDriveMirrorCancelled(driver, vm, asyncJob, + while ((rv = qemuMigrationDriveMirrorCancelled(vm, asyncJob, check)) != 1) { if (check && !failed && dconn && virConnectIsAlive(dconn) <= 0) { @@ -848,7 +845,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, VIR_FREE(nbd_dest); if (qemuDomainObjExitMonitor(driver, vm) < 0 || mon_ret < 0) { - qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT, disk); + qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_MIGRATION_OUT, disk); goto cleanup; } diskPriv->migrating = true; @@ -859,7 +856,7 @@ qemuMigrationSrcDriveMirror(virQEMUDriverPtr driver, } } - while ((rv = qemuMigrationSrcDriveMirrorReady(driver, vm, + while ((rv = qemuMigrationSrcDriveMirrorReady(vm, QEMU_ASYNC_JOB_MIGRATION_OUT)) != 1) { if (rv < 0) goto cleanup; @@ -1366,7 +1363,7 @@ qemuMigrationAnyCompleted(virQEMUDriverPtr driver, /* This flag should only be set when run on src host */ if (flags & QEMU_MIGRATION_COMPLETED_CHECK_STORAGE && - qemuMigrationSrcDriveMirrorReady(driver, vm, asyncJob) < 0) + qemuMigrationSrcDriveMirrorReady(vm, asyncJob) < 0) goto error; if (flags & QEMU_MIGRATION_COMPLETED_ABORT_ON_ERROR && @@ -5273,7 +5270,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver, VIR_DEBUG("Drive mirror on disk %s is still running", disk->dst); } else { VIR_DEBUG("Drive mirror on disk %s is gone", disk->dst); - qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); + qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk); diskPriv->migrating = false; } } @@ -5295,7 +5292,7 @@ qemuMigrationSrcCancel(virQEMUDriverPtr driver, qemuDomainDiskPrivatePtr diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk); if (diskPriv->migrating) { - qemuBlockJobSyncEnd(driver, vm, QEMU_ASYNC_JOB_NONE, disk); + qemuBlockJobSyncEnd(vm, QEMU_ASYNC_JOB_NONE, disk); diskPriv->migrating = false; } }