migration: centralize call to migrate_fd_error()
The call to migrate_fd_error() was missing for non-socket backends, so
centralize it in qmp_migrate().
Before:
(qemu) migrate fd:ffff
migrate: An undefined error has occurred
(qemu) info migrate
(qemu)
After:
(qemu) migrate fd:ffff
migrate: An undefined error has occurred
(qemu) info migrate
capabilities: xbzrle: off
Migration status: failed
total time: 0 milliseconds
(The awful error message will be fixed later in the series).
Reviewed-by: Luiz Capitulino <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
diff --git a/migration-tcp.c b/migration-tcp.c
index 78337a3..e8bc76a 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -79,7 +79,6 @@
s->fd = inet_nonblocking_connect(host_port, tcp_wait_for_connect, s, &local_err);
if (local_err != NULL) {
- migrate_fd_error(s);
error_propagate(errp, local_err);
return -1;
}
diff --git a/migration-unix.c b/migration-unix.c
index 169de88..d349662 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -111,7 +111,6 @@
if (ret < 0) {
DPRINTF("connect failed\n");
- migrate_fd_error(s);
return ret;
}
migrate_fd_connect(s);
diff --git a/migration.c b/migration.c
index b332dae..efea219 100644
--- a/migration.c
+++ b/migration.c
@@ -524,6 +524,7 @@
}
if (ret < 0 || local_err) {
+ migrate_fd_error(s);
if (!local_err) {
error_set_errno(errp, -ret, QERR_UNDEFINED_ERROR);
} else {