Since we switched from direct host migration scheme to the one, where we connect to the destination and then just pass a FD to a qemu, we have uncovered a qemu bug. Qemu expects migration FD to block. However, we are passing a nonblocking one which results in cryptic error messages like: qemu: warning: error while loading state section id 2 load of migration failed The bug is already known to Qemu folks, but we should workaround already released Qemus. Patch has been originally proposed by Stefan Hajnoczi <stefanha@xxxxxxxxx> --- src/qemu/qemu_migration.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 537b834..15f3cef 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2657,6 +2657,13 @@ qemuMigrationConnect(virQEMUDriverPtr driver, spec->dest.fd.qemu == -1) goto cleanup; + /* Migration expects a blocking FD */ + if (virSetBlocking(spec->dest.fd.qemu, true) < 0) { + virReportSystemError(errno, _("Unable to set FD %d blocking"), + spec->dest.fd.qemu); + goto cleanup; + } + ret = 0; cleanup: -- 1.8.1.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list