]> Git Repo - qemu.git/commitdiff
migration: Don't try and recover return path in non-postcopy
authorDr. David Alan Gilbert <[email protected]>
Mon, 7 Oct 2019 10:35:07 +0000 (11:35 +0100)
committerDr. David Alan Gilbert <[email protected]>
Fri, 11 Oct 2019 13:25:26 +0000 (14:25 +0100)
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 positive '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 <[email protected]>
Tested-by: Greg Kurz <[email protected]>
Reviewed-by: Peter Xu <[email protected]>
Signed-off-by: Dr. David Alan Gilbert <[email protected]>
migration/migration.c

index 0c51aa6ac7b85251f94a73a6605b04471eb07755..d7f8b428e0618eb0ae805e60e2713cf1d6667e97 100644 (file)
@@ -2486,7 +2486,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.
This page took 0.024947 seconds and 4 git commands to generate.