Re: [libvirt] [PATCH] Ignore qemu STOP event when stopping CPUs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > > By setting vm->status to PAUSED before actually sending the request to
> > > qemu (and resetting it back if the request fails) we can ignore the
> > > event since the event handler does nothing when the guest is already
> > > paused. This solution is quite hacky but unfortunately it's the best
> > > solution which I was able to come up with and it doesn't introduce a
> > > race condition.
> > 
> >  You could extend the low-level driver to accept a mask of events to
> > be ignored.
> 
> The core problem here is that QEMU only emits a STOP event, with no
> corresponding CONT event. If QEMU had been doing both, this patch
> would not be neccessary, because we'd see both transitions from QEMU
> instead of just one direction.

Actually, I don't think CONT event would help in this case. When libvirt is
issuing a command to stop qemu emulation, it knows if it failed or succeeded
synchronously and may set guest's state appropriately. Having asynchronously
processed handler of STOP/CONT event set the guest state is not a good idea.
We dealt with code written in such a way before and I guess no-one wants to
get back to it :-)

So I think we will eventually need to introduce event mask into monitor code.

Jirka

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]