[libvirt] [PATCH 5/5] qemu: Avoid dangling migration-out job when client dies

Jiri Denemark jdenemar at redhat.com
Wed Mar 21 09:19:26 UTC 2012


On Tue, Mar 20, 2012 at 16:33:49 -0600, Eric Blake wrote:
> On 03/19/2012 10:19 AM, Jiri Denemark wrote:
> > When a client which started non-p2p migration dies in a bad time, the
> > source libvirtd never clears the migration job and almost nothing can be
> > done with the domain without restarting the daemon. This patch makes use
> > of connection close callbacks and ensures that migration job is properly
> > discarded when the client disconnects.
> > ---
> >  src/qemu/qemu_driver.c    |    4 +++
> >  src/qemu/qemu_migration.c |   66 +++++++++++++++++++++++++++++++++++++++++++++
> >  src/qemu/qemu_migration.h |    4 +++
> >  3 files changed, 74 insertions(+), 0 deletions(-)
> 
> Can't have been a fun bug to track down, but I'm glad you found it.

Heh, I found it as a side effect of trying to reproduce the bug fixed by 2/5.
Anyway, I usually like dealing with such beasts so it was actually fun for me
:-)

> > +/* This is called for outgoing non-p2p migrations when a connection to the
> > + * client which initiated the migration was closed and we are waiting for it
> 
> s/and we are waiting/but we were waiting/
> 
> > +
> > +    VIR_DEBUG("The connection which started outgoing migration of domain %s"
> > +              " was closed; cancelling the migration",
> 
> I think that in user-visible messages, we have been favoring US spelling
> (canceling) over UK spelling (cancelling); but VIR_DEBUG is borderline
> on whether it is user-visible.

Yeah. Double letters are always fun for me. Why there is only a single 'p' in
grouped while double 'p' in stopped? Is that because we know there is no
"groupe" word and thus we don't need to distinguish which word "grouped" was
derived from? (While both "stop" and "stope" exist.) If so, what if a "groupe"
appears and starts to mean something? :-)

Jirka




More information about the libvir-list mailing list