Re: [PATCH v3] qemu: add a monitor to /proc/$pid when killing times out

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/23/24 17:57, Boris Fiuczynski wrote:
> On 7/22/24 2:01 PM, Jiri Denemark wrote:
>> On Mon, Jul 22, 2024 at 10:55:05 +0200, Michal Prívozník wrote:
>>> On 7/19/24 17:44, Boris Fiuczynski wrote:
>>>> In cases when a QEMU process takes longer than the time sigterm and
>>>> sigkill are issued to kill the process do not simply fail and leave the
>>>> VM in state VIR_DOMAIN_SHUTDOWN until the daemon stops. Instead set up
>>>> an fd on /proc/$pid and get notified when the QEMU process finally has
>>>> terminated to cleanup the VM state.
>>>>
>>>> Resolves: https://issues.redhat.com/browse/RHEL-28819
>>>> Signed-off-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxx>
>>>> ---
>>>>   src/qemu/qemu_domain.c  |   8 +++
>>>>   src/qemu/qemu_domain.h  |   2 +
>>>>   src/qemu/qemu_driver.c  |  18 ++++++
>>>>   src/qemu/qemu_process.c | 124
>>>> ++++++++++++++++++++++++++++++++++++++--
>>>>   src/qemu/qemu_process.h |   1 +
>>>>   5 files changed, 148 insertions(+), 5 deletions(-)
>>>>


>>>> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
>>>> index 9f3013e231..6b1e4084f6 100644
>>>> --- a/src/qemu/qemu_driver.c
>>>> +++ b/src/qemu/qemu_driver.c
>>>> @@ -4041,6 +4041,21 @@ processNbdkitExitedEvent(virDomainObj *vm,
>>>>   }
>>>>     +static void
>>>> +processShutdownCompletedEvent(virQEMUDriver *driver,
>>>> +                              virDomainObj *vm)
>>>> +{
>>>> +    if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0)
>>>> +        return;
>>>
>>> Shouldn't this be:
>>>
>>>      if (qemuProcessBeginStopJob(vm, VIR_JOB_DESTROY, true) < 0)
>>>          return;
>>>
>>> Otherwise looking good. No need to resend, I can fix that before
>>> pushing.
>>
>> And followed by qemuProcessEndStopJob after calling qemuProcessStop.
>>
>> Jirka
> 
> Just to make sure I retested successfully with the changes above.
> 

Perfect!

I'll do the change before merging (among with some code style
adjustments like curly braces around multiline if-s, etc. Nothing too
intrusive).

Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>

Michal




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux