[libvirt] [PATCH] qemu: Fix shutdown regression

Eric Blake eblake at redhat.com
Tue Sep 20 19:22:12 UTC 2011

On 09/20/2011 01:10 PM, Jiri Denemark wrote:
> On Tue, Sep 20, 2011 at 19:39:15 +0200, Jiri Denemark wrote:
>> The commit that prevents disk corruption on domain shutdown
>> (96fc4784177ecb70357518fa863442455e45ad0e) causes regression with QEMU
>> 0.14.* and 0.15.* because of a regression bug in QEMU that was fixed
>> only recently in QEMU git. With affected QEMU binaries, domains cannot
>> be shutdown properly and stay in a paused state. This patch tries to
>> avoid this by sending SIGKILL to 0.1[45].* QEMU processes. Though we
>> wait a bit more between sending SIGTERM and SIGKILL to reduce the
>> possibility of virtual disk corruption.
> An alternative solution would be to break reboot on affected QEMUs instead of
> trying to live with possible data corruption as if libvirt 0.9.[34] is used.
> That is, virDomainReboot would report unsupported operation because current
> emulator binary is not able to support it without causing possible data
> corruption during shutdown.

That makes sense - that is, we don't use -no-shutdown, so 
virDomainReboot reports failure, but then virDomainDestroy doesn't 
tickle the bug and can unconditionally work as it has always done.

I like that idea a bit better, especially since it sounds like upstream 
qemu is reluctant to modify -help text to help us out.

Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

More information about the libvir-list mailing list