migration: don't rely on any QERR_SOCKET_*
commit540c79fec9e8b6a6582ec4c65aa2c4c5366e4b89
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 6 Aug 2012 19:26:47 +0000 (6 16:26 -0300)
committerLuiz Capitulino <lcapitulino@redhat.com>
Mon, 13 Aug 2012 16:20:39 +0000 (13 13:20 -0300)
tree2258c5002deae99c066343530a2ff45fbf7b1988
parent02a08fef079469c005d48fe2d181f0e0eb5752ae
migration: don't rely on any QERR_SOCKET_*

Use the in_progress argument for QERR_SOCKET_CONNECT_IN_PROGRESS. The
other errors are handled the same by checking if the error is set and
then calling migrate_fd_error() if it's.

It's also necessary to change inet_connect_opts() not to set
QERR_SOCKET_CONNECT_IN_PROGRESS. This error is only used by
tcp_start_outgoing_migration() and not changing it along with the
usage of in_progress would break migration.

Furthermore this commit fixes a bug. Today, there's a spurious error
report when migration succeeds:

(qemu) migrate tcp:0:4444
migrate: Connection can not be completed immediately
(qemu)

After this commit no spurious error is reported anymore.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
migration-tcp.c
qemu-sockets.c