[libvirt] [PATCH] qemu: fix state change lock held byremoteDispatchDomainBlockJobAbort forever

Xiubo Li lixiubo at cmss.chinamobile.com
Fri Sep 2 09:04:04 UTC 2016


...
>> +++++++++++++++++++++++++++++++++++++++++
>> 2016-08-26 07:51:05.685+0000: 8916: warning : qemuDomainObjBeginJobInternal:1571 :
>> Cannot start job (query, none) for domain instance-00001b3a; current job is (modify,
>> none) owned by (8914 remoteDispatchDomainBlockJobAbort, 0 <null>) for (30s, 0s)
>>
>> 2016-08-26 07:51:05.685+0000: 8916: error : qemuDomainObjBeginJobInternal:1583 :
>> Timed out during operation: cannot acquire state change lock (held by
>> remoteDispatchDomainBlockJobAbort)
>> -----------------------------------------
>>

...
>
> However, the patch is wrong. We should just never attempt to wait for
> the event if we already got it. In other words, diskPriv->blockjob
> should have already be false at this point.
>
> Jirka
>

Yes, right. I missed the qemuBlockJobUpdate() before the while().

I am not sure, whether there has other reason to cause the "event" reply 
missed by libvirtd ? or just ignored/lost by the qemu ?

These months, we have encountered 3 times about the case when the error 
and warning logs occured, the VM will have no responding forever, only 
through reboot it.

Thanks very much.

BRs
Xiubo





More information about the libvir-list mailing list