mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: fix qemuMigrationSrcCleanup to use qemuMigrationJobFinish
qemuMigrationSrcCleanup uses qemuDomainObjDiscardAsyncJob currently. But discard does not reduce jobs_queued counter so it leaks. Also discard does not notify other threads that job condition is available. Discard does reset nested job but nested job is not possible in this conditions. Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
8dfb6ed826
commit
7e34d9a9e0
@ -2132,7 +2132,7 @@ qemuMigrationSrcCleanup(virDomainObjPtr vm,
|
||||
switch ((qemuMigrationJobPhase) priv->job.phase) {
|
||||
case QEMU_MIGRATION_PHASE_BEGIN3:
|
||||
/* just forget we were about to migrate */
|
||||
qemuDomainObjDiscardAsyncJob(driver, vm);
|
||||
qemuMigrationJobFinish(driver, vm);
|
||||
break;
|
||||
|
||||
case QEMU_MIGRATION_PHASE_PERFORM3_DONE:
|
||||
@ -2142,7 +2142,7 @@ qemuMigrationSrcCleanup(virDomainObjPtr vm,
|
||||
qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT,
|
||||
jobPriv->migParams, priv->job.apiFlags);
|
||||
/* clear the job and let higher levels decide what to do */
|
||||
qemuDomainObjDiscardAsyncJob(driver, vm);
|
||||
qemuMigrationJobFinish(driver, vm);
|
||||
break;
|
||||
|
||||
case QEMU_MIGRATION_PHASE_PERFORM3:
|
||||
|
Loading…
x
Reference in New Issue
Block a user