On 07/29/2014 02:41 AM, Sam Bobroff wrote:
During a QEMU live migration several warning messages about job
handling could be written to syslog on the destination host:
"entering monitor without asking for a nested job is dangerous"
The messages are written because the job handling during migration
uses hard coded asyncJob values in several places that are incorrect.
This patch passes the required asyncJob value around and prevents
the warnings as well as any issues that the warnings may be referring
to.
Signed-off-by: Sam Bobroff <sam.bobroff(a)au1.ibm.com>
--
This patch seems to fix the deadlock that can happen if the migrated domain is
destroyed at the destination reported here:
https://www.redhat.com/archives/libvir-list/2014-May/msg00236.html
It looks good to me, but it seems there are more functions calling
qemuDomainObjEnterMonitor that can be called from qemuProcessStart,
for example qemuDomainChangeGraphicsPasswords.
@@ -2505,7 +2506,7 @@ qemuDomainUpdateDeviceList(virQEMUDriverPtr
driver,
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_DEL_EVENT))
return 0;
- qemuDomainObjEnterMonitor(driver, vm);
+ ignore_value(qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob));
Also, the return value of this call could be dangerous to ignore if asyncJob
!= NONE.
Jan