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.
+/* 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.
ACK.
--
Eric Blake eblake(a)redhat.com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org