Those patches make tcp migration use the help functions in qemu-socket.c for support IPv6 migration.
Changes from v1: - split different changes to small patches, it will be easier to review - fixed some problem according to Kevin's comment Changes from v2: - fix issue of returning real error - set s->fd to -1 when parse fails, won't call migrate_fd_error() Changes from v3: - try to use help functions in qemu-socket.c Changes from v4: - introduce set_socket_error() to restore real errno - fix connect error process Changes from v5: - use error class to pass socket error Changes from v6: - merge error process and nonblock support together - fix leak of repeatedly error_set() - coding style fix - fix EWOULDBLOCK process --- I just updated the patchset according michael and orit's comments. Current patch handles EWOULDBLOCK same as migration-tcp.c. The introduced qerror strings are basically sufficient, we can fix migration error handle later. Thanks for your time! --- Amos Kong (4): qerror: add five qerror strings sockets: change inet_connect() to support nonblock socket sockets: use error class to pass listen error use inet_listen()/inet_connect() to support ipv6 migration migration-tcp.c | 74 +++++++++++++------------------------------------------ migration.c | 14 ++++++---- migration.h | 7 +++-- nbd.c | 4 +-- qemu-char.c | 4 +-- qemu-sockets.c | 63 +++++++++++++++++++++++++++++++++++++++-------- qemu_socket.h | 10 ++++--- qerror.c | 20 +++++++++++++++ qerror.h | 15 +++++++++++ ui/vnc.c | 5 ++-- vl.c | 6 ++++ 11 files changed, 136 insertions(+), 86 deletions(-) -- Amos Kong