On Mon, Dec 12, 2011 at 09:12:13 -0700, Eric Blake wrote:
On 12/12/2011 08:31 AM, Jiri Denemark wrote:
> When destroying a domain qemuDomainDestroy kills its qemu process and
> starts a new job, which means it unlocks the domain object and locks it
> again after some time. Although the object is usually unlocked for a
> pretty short time, chances are another thread processing an EOF event on
> qemu monitor is able to lock the object first and does all the cleanup
> by itself. This leads to wrong shutoff reason and lifecycle event detail
> and virDomainDestroy API incorrectly reporting failure to destroy an
> inactive domain.
>
> Reported by Charlie Smurthwaite.
> ---
> src/qemu/qemu_domain.h | 1 +
> src/qemu/qemu_driver.c | 10 ++++++++++
> src/qemu/qemu_process.c | 22 +++++++++++++++-------
> 3 files changed, 26 insertions(+), 7 deletions(-)
ACK.
Pushed, thanks.
Jirka