[libvirt] [PATCH] qemu_agent: report VIR_ERR_AGENT_UNSYNCED if guest_sync failed.

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Thu Nov 30 10:50:59 UTC 2017



On 30.11.2017 13:37, Chen Hanxiao wrote:
> 
> At 2017-11-30 14:11:36, "Nikolay Shirokovskiy" <nshirokovskiy at virtuozzo.com> wrote:
>>
>>
>> On 30.11.2017 06:08, Chen Hanxiao wrote:
>>> From: Chen Hanxiao <chenhanxiao at gmail.com>
>>>
>>> Commit 5e5019bf removed this kind of error.
>>>
>>> But we've already protected race condition by qemuDomainObjEnterAgent,
>>> it was very unlikely to revieve a sync from other calls.
>>> For call from virDomain*, it's better to show this error
>>> if we really got a mismatch sync.
>>
>> Hi, Chen. 
>>
>> We've observed such condition on practice. So if you report error in this
>> place then agent monitor will enter error state and will become unusable
>> and there are no means to leave this state other then restarting libvirtd
>> AFAIK. Even if there is a option to reset monitor then client will reset
>> it by itself on receiving VIR_ERR_AGENT_UNSYNCED error. But then why enter
>> error state in this case?
>>
> 
> Hi, Nikolay 
>  
> My concern is that the mismatch of sync id informs qga is malfunctioning.

Not neccessarily. This can happen due to the way guest channel works.

> If in that state, we SHOULD set agent monitor to error state,
> we'll get VIR_ERR_AGENT_UNRESPONSIVE> 
> The sysadmin should notice this, and login to VMs to do something.
> 
> Restarting qga inside guest will reset the monitor's agentError,
> maybe malfunction of qga will be reset at the same time.
> 
> Regards,
> - Chen
> 




More information about the libvir-list mailing list