On 09/20/2011 01:01 PM, Eric Blake wrote:
On 09/20/2011 11:39 AM, 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.
> ---
> src/qemu/qemu_capabilities.c | 7 +++++++
> src/qemu/qemu_capabilities.h | 1 +
> src/qemu/qemu_process.c | 19 +++++++++++++------
> 3 files changed, 21 insertions(+), 6 deletions(-)
ACK. But it would be nice if upstream qemu could give us a more reliable
indication of whether the qemu SIGTERM bug is fixed, so that we don't corrupt
data on a patched 0.14 or 0.15 qemu.
Can you be a lot more specific about what bug you mean?
That is, as part of fixing the bug in qemu,
we should also update -help text or something similar, so that libvirt can avoid
making decisions solely on version numbers.
The version number *is* the right way to make decisions. We've gone through
this dozens of times.
The fact that distros backport all sorts of stuff means that you need to
maintain a matrix of versions with features. It's not our (upstream QEMU's)
responsibility to tell you the differences that exist in forks of QEMU.
Regards,
Anthony Liguori