From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> In normal precopy we can't do reconnection recovery - but we also don't need to, since you can just rerun migration. At the moment if the 'return-path' capability is on, we use the return path in precopy to give a postiive 'OK' to the end of migration; however if migration fails then we fall into the postcopy recovery path and hang. This fixes it by only running the return path in the postcopy case.
Reported-by: Greg Kurz <gr...@kaod.org> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- migration/migration.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/migration.c b/migration/migration.c index 5f7e4d15e9..d5d9b31bb7 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2481,7 +2481,7 @@ retry: out: res = qemu_file_get_error(rp); if (res) { - if (res == -EIO) { + if (res == -EIO && migration_in_postcopy()) { /* * Maybe there is something we can do: it looks like a * network down issue, and we pause for a recovery. -- 2.21.0