diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index c411dab6129a869b3abf1c53f4e18d94353d8972..6a683f7de4b5230393a4d334e204ed02a0d5e089 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -6237,7 +6237,8 @@ qemuMigrationFinish(virQEMUDriverPtr driver, if (qemuMigrationStopNBDServer(driver, vm, mig) < 0) goto endjob; - if (qemuRefreshVirtioChannelState(driver, vm) < 0) + if (qemuRefreshVirtioChannelState(driver, vm, + QEMU_ASYNC_JOB_MIGRATION_IN) < 0) goto endjob; if ((rc = qemuConnectAgent(driver, vm)) < 0) { diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 63da60095d11668d0d7a86e64da24714c7fce845..c8ff587ff25e021cbb2e914b2b107ad828b1bf0b 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -1974,13 +1974,16 @@ qemuProcessRefreshChannelVirtioState(virQEMUDriverPtr driver, int qemuRefreshVirtioChannelState(virQEMUDriverPtr driver, - virDomainObjPtr vm) + virDomainObjPtr vm, + qemuDomainAsyncJob asyncJob) { qemuDomainObjPrivatePtr priv = vm->privateData; virHashTablePtr info = NULL; int ret = -1; - qemuDomainObjEnterMonitor(driver, vm); + if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0) + goto cleanup; + ret = qemuMonitorGetChardevInfo(priv->mon, &info); if (qemuDomainObjExitMonitor(driver, vm) < 0) ret = -1; @@ -3312,7 +3315,7 @@ qemuProcessReconnect(void *opaque) if (qemuProcessRefreshDisks(driver, obj, QEMU_ASYNC_JOB_NONE) < 0) goto error; - if (qemuRefreshVirtioChannelState(driver, obj) < 0) + if (qemuRefreshVirtioChannelState(driver, obj, QEMU_ASYNC_JOB_NONE) < 0) goto error; /* If querying of guest's RTC failed, report error, but do not kill the domain. */ diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 37081ad4c177db15fdef236b06ac8f0082f59046..21f3b0ccaa3c62fe1a1d207a955b45eb41001bbd 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -180,7 +180,8 @@ int qemuProcessSetupIOThread(virDomainObjPtr vm, virDomainIOThreadIDDefPtr iothread); int qemuRefreshVirtioChannelState(virQEMUDriverPtr driver, - virDomainObjPtr vm); + virDomainObjPtr vm, + qemuDomainAsyncJob asyncJob); int qemuProcessRefreshBalloonState(virQEMUDriverPtr driver, virDomainObjPtr vm,