Thank you for your reminder, I'll send another patch
On 2023/11/28 23:36, Ján Tomko wrote:
> On a Saturday in 2023, Guoyi Tu wrote:
>> Currently, libvirt creates a thread pool with only on thread to handle
>> all
>> qemu monitor events for virtual machines, In the cases that if the thread
>> gets stuck while handling a monitor EOF event, such as unable to kill the
>> virtual machine process or release resources, the events of other virtual
>> machine will be also blocked, which will lead to the abnormal behavior of
>> other virtual machines.
>>
>> For instance, when another virtual machine completes a shutdown operation
>> and the monitor EOF event has been queued but remains unprocessed, we
>> immediately destroy and start the virtual machine again, at a later time
>> when EOF event get processed, the processMonitorEOFEvent() will kill the
>> virtual machine that just started.
>>
>> To address this issue, in the processMonitorEOFEvent(), we check whether
>> the current virtual machine's monitor object matches the one at the time
>> the event was generated. If they do not match, we immediately return.
>>
>> Signed-off-by: Guoyi Tu <tugy(a)chinatelecom.cn>
>> Signed-off-by: dengpengcheng <dengpc12(a)chinatelecom.cn>
>> ---
>> src/qemu/qemu_domain.c | 2 +-
>> src/qemu/qemu_driver.c | 11 +++++++++--
>> src/qemu/qemu_process.c | 2 +-
>> 3 files changed, 11 insertions(+), 4 deletions(-)
>>
>
> The patch looks reasonable to me, but I cannot apply it:
>
> warning: Patch sent with format=flowed; space at the end of lines might
> be lost.
> Applying: qemu_driver: Don't handle the EOF event if monitor changed
> error: corrupt patch at line 32
> Patch failed at 0001 qemu_driver: Don't handle the EOF event if monitor
> changed
>
> Do you have it applied somewhere on GitLab or can you try sending the
> output of 'git format-patch' as an attachment?
>
> Thank you,
> Jano