[libvirt] [PATCH] qemu: Disable EOF processing during qemuDomainDestroy

Jiri Denemark jdenemar at redhat.com
Mon Dec 12 16:26:06 UTC 2011


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




More information about the libvir-list mailing list