[PATCH RESEND] qemu: disarm fake reboot flag on reset

Daniel P. Berrangé berrange at redhat.com
Thu Apr 21 15:28:11 UTC 2022


On Tue, Apr 05, 2022 at 02:52:59PM +0300, Nikolay Shirokovskiy wrote:
> From: Maxim Nestratov <mnestratov at virtuozzo.com>
> 
> This is a quite an old (created at 2016) patch fixing an issue for at
> that time contemporary Fedora 23. virsh reboot returns success (yet
> after hanging for a while), VM is rebooted sucessfully too but then
> shutdown from inside guest causes reboot and not shutdown.
> 
> VM has agent installed. So virsh reboot first tries to reboot VM thru
> the agent. The agent calls 'shutdown -r' command. Typically it returns
> instantly but on this distro for some reason it takes time. I did not
> investigate the cause but the command waits in dbus client code,
> probably waits for reply. The libvirt waits 60s for agent command to
> execute and then errors out. Next reboot API falls back to ACPI shutdown
> which returns successfully thus the reboot command return success too.
> 
> Yet shutdown command in guest eventually successfull and guest is truly
> rebooted. So libvirt does not receive SHUTDOWN event and fake reboot
> flag which is armed on fallback path stays armed. Thus next shutdown
> from guest leads to reboot.
> 
> The issue has 100% repro on Fedora 23. On modern distros I can't
> reproduce it at all. Shutdown command is asynchronous and returns
> immediately even if I start some service that ignores TERM signal and
> thus shutdown procedure waits for 90s (if I not mistaken) before sending
> KILL.
> 
> Yet I guess it is nice to have this patch to be more robust.
> 
> Signed-off-by: Nikolay Shirokovskiy <nikolay.shirokovskiy at openvz.org>
> ---
>  src/qemu/qemu_process.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>

and pushed


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list