When QEMU exits on destination during migration, the source reports either success (if the failure happened at the very end) or unhelpful "unexpectedly failed" error message, only the destination host knows more about the error, but usually there's no way to get the error back to the source because the domain is already gone at the time virDomainMigrateFinish* is called. This series changes libvirt to remember incoming migration errors so that they can be sent back to a source host. https://bugzilla.redhat.com/show_bug.cgi?id=1090093 Jiri Denemark (5): Introduce virHashAtomic Introduce virErrorCopyNew qemu: Remember incoming migration errors qemu: Don't report false error from MigrateFinish qemu: Use error from Finish instead of "unexpectedly failed" docs/apibuild.py | 1 + include/libvirt/virterror.h | 1 + src/libvirt-domain.c | 30 ++++++++++++- src/libvirt_private.syms | 4 ++ src/qemu/qemu_conf.h | 3 ++ src/qemu/qemu_driver.c | 31 +++++++++---- src/qemu/qemu_migration.c | 104 ++++++++++++++++++++++++++++++++++++++++++-- src/qemu/qemu_migration.h | 7 +++ src/qemu/qemu_monitor.c | 14 ++++++ src/qemu/qemu_monitor.h | 2 + src/qemu/qemu_process.c | 4 ++ src/util/virerror.c | 22 ++++++++++ src/util/virerror.h | 1 + src/util/virhash.c | 81 ++++++++++++++++++++++++++++++++++ src/util/virhash.h | 10 +++++ 15 files changed, 302 insertions(+), 13 deletions(-) -- 2.4.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list