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