There is issue with second patch. Probably this unset/set was too mysterious and I miss one point - we do need to call unset on error path as in case of non p2p migration confirm step will not be called. So this need to be squashed in: diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 01c702e..6213025 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -4958,6 +4958,8 @@ qemuMigrationSrcPerformPhase(virQEMUDriverPtr driver, qemuMigrationParamsReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT, jobPriv->migParams, priv->job.apiFlags); qemuMigrationJobFinish(driver, vm); + virCloseCallbacksUnset(driver->closeCallbacks, vm, + qemuMigrationSrcCleanup); } else { qemuMigrationJobContinue(vm); } On 14.09.2020 18:41, Michal Privoznik wrote: > On 8/18/20 12:26 PM, Nikolay Shirokovskiy wrote: >> Nikolay Shirokovskiy (2): >> qemu: fix qemuMigrationSrcCleanup to use qemuMigrationJobFinish >> qemu: don't needlessly unset close callback during perform phase >> >> src/qemu/qemu_migration.c | 14 +++----------- >> 1 file changed, 3 insertions(+), 11 deletions(-) >> > > Patches look good to me, but since it was Jirka who added the call you're removing in 2/2 I'll let him share opinion too. > > Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > > Michal >