Those patches updated help functions in qemu-socket.c, and used them in migrate-tcp.c to supporting 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 Changes from v7: - posix: let EWOULDBLOCK fall through to CONNECT_FAILED path - add unknown error process - fix typo Changes from v8: - reuse rc variable - fix a NULL pointer dereference Changes from v9: - handle non-blocking correctly if errp is NULL Changes from v10: - send out the whole series, no change - add 'Reviewed-by' Changes from v11: - trivial fix: update error description in qerror.c --- 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 | 77 +++++++++++++++---------------------------------------- migration.c | 14 ++++++---- migration.h | 7 +++-- nbd.c | 4 +-- qemu-char.c | 4 +-- qemu-sockets.c | 60 ++++++++++++++++++++++++++++++++++++------- qemu_socket.h | 10 ++++--- qerror.c | 20 ++++++++++++++ qerror.h | 15 +++++++++++ ui/vnc.c | 5 ++-- vl.c | 7 ++++- 11 files changed, 138 insertions(+), 85 deletions(-) -- Amos Kong