Now that QEMU replaces the close() and ioctl() methods with a wrapper that can transparently handle both sockets and regular file handles on Win32, there is no need to ever use the closesocket/ioctlsocket methods. The code can simply use the normal POSIX methods.
Signed-off-by: Daniel P. Berrange <berra...@redhat.com> --- block/sheepdog.c | 36 ++++++++++++++++++------------------ include/qemu/sockets.h | 4 ---- io/channel-socket.c | 2 +- migration/qemu-file-unix.c | 2 +- migration/tcp.c | 4 ++-- net/socket.c | 20 ++++++++++---------- slirp/ip_icmp.c | 2 +- slirp/misc.c | 4 ++-- slirp/slirp.h | 2 -- slirp/socket.c | 2 +- slirp/tcp_subr.c | 6 +++--- slirp/udp.c | 2 +- util/qemu-sockets.c | 12 ++++++------ 13 files changed, 46 insertions(+), 52 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index 8739acc..26d7bed 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -1143,7 +1143,7 @@ static int find_vdi_name(BDRVSheepdogState *s, const char *filename, ret = 0; out: - closesocket(fd); + close(fd); return ret; } @@ -1340,7 +1340,7 @@ static int reload_inode(BDRVSheepdogState *s, uint32_t snapid, const char *tag) out: g_free(inode); - closesocket(fd); + close(fd); return ret; } @@ -1488,7 +1488,7 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags, ret = read_object(fd, s->aio_context, buf, vid_to_vdi_oid(vid), 0, SD_INODE_SIZE, 0, s->cache_flags); - closesocket(fd); + close(fd); if (ret) { error_setg(errp, "Can't read snapshot inode"); @@ -1508,7 +1508,7 @@ out: aio_set_fd_handler(bdrv_get_aio_context(bs), s->fd, false, NULL, NULL, NULL); if (s->fd >= 0) { - closesocket(s->fd); + close(s->fd); } qemu_opts_del(opts); g_free(buf); @@ -1546,7 +1546,7 @@ static void sd_reopen_commit(BDRVReopenState *state) if (s->fd) { aio_set_fd_handler(s->aio_context, s->fd, false, NULL, NULL, NULL); - closesocket(s->fd); + close(s->fd); } s->fd = re_s->fd; @@ -1570,7 +1570,7 @@ static void sd_reopen_abort(BDRVReopenState *state) if (re_s->fd) { aio_set_fd_handler(s->aio_context, re_s->fd, false, NULL, NULL, NULL); - closesocket(re_s->fd); + close(re_s->fd); } g_free(state->opaque); @@ -1616,7 +1616,7 @@ static int do_sd_create(BDRVSheepdogState *s, uint32_t *vdi_id, int snapshot, ret = do_req(fd, s->aio_context, (SheepdogReq *)&hdr, buf, &wlen, &rlen); - closesocket(fd); + close(fd); if (ret) { error_setg_errno(errp, -ret, "create failed"); @@ -1879,7 +1879,7 @@ static int sd_create(const char *filename, QemuOpts *opts, ret = do_req(fd, s->aio_context, (SheepdogReq *)&hdr, NULL, &wlen, &rlen); - closesocket(fd); + close(fd); if (ret) { error_setg_errno(errp, -ret, "failed to get cluster default"); goto out; @@ -1945,7 +1945,7 @@ static void sd_close(BlockDriverState *bs) ret = do_req(fd, s->aio_context, (SheepdogReq *)&hdr, s->name, &wlen, &rlen); - closesocket(fd); + close(fd); if (!ret && rsp->result != SD_RES_SUCCESS && rsp->result != SD_RES_VDI_NOT_LOCKED) { @@ -1954,7 +1954,7 @@ static void sd_close(BlockDriverState *bs) aio_set_fd_handler(bdrv_get_aio_context(bs), s->fd, false, NULL, NULL, NULL); - closesocket(s->fd); + close(s->fd); g_free(s->host_spec); } @@ -2063,7 +2063,7 @@ static bool sd_delete(BDRVSheepdogState *s) ret = do_req(fd, s->aio_context, (SheepdogReq *)&hdr, s->name, &wlen, &rlen); - closesocket(fd); + close(fd); if (ret) { return false; } @@ -2120,7 +2120,7 @@ static int sd_create_branch(BDRVSheepdogState *s) ret = read_object(fd, s->aio_context, buf, vid_to_vdi_oid(vid), s->inode.nr_copies, SD_INODE_SIZE, 0, s->cache_flags); - closesocket(fd); + close(fd); if (ret < 0) { goto out; @@ -2432,7 +2432,7 @@ static int sd_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info) cleanup: g_free(inode); - closesocket(fd); + close(fd); return ret; } @@ -2534,7 +2534,7 @@ static bool remove_objects(BDRVSheepdogState *s) } out: - closesocket(fd); + close(fd); return result; } @@ -2590,7 +2590,7 @@ static int sd_snapshot_delete(BlockDriverState *bs, ret = do_req(fd, s->aio_context, (SheepdogReq *)&hdr, buf, &wlen, &rlen); - closesocket(fd); + close(fd); if (ret) { return ret; } @@ -2643,7 +2643,7 @@ static int sd_snapshot_list(BlockDriverState *bs, QEMUSnapshotInfo **psn_tab) ret = do_req(fd, s->aio_context, (SheepdogReq *)&req, vdi_inuse, &wlen, &rlen); - closesocket(fd); + close(fd); if (ret) { goto out; } @@ -2691,7 +2691,7 @@ static int sd_snapshot_list(BlockDriverState *bs, QEMUSnapshotInfo **psn_tab) } } - closesocket(fd); + close(fd); out: *psn_tab = sn_tab; @@ -2753,7 +2753,7 @@ static int do_load_save_vmstate(BDRVSheepdogState *s, uint8_t *data, } ret = size; cleanup: - closesocket(fd); + close(fd); return ret; } diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h index fec2254..1bd9218 100644 --- a/include/qemu/sockets.h +++ b/include/qemu/sockets.h @@ -6,10 +6,6 @@ int inet_aton(const char *cp, struct in_addr *ia); -#else - -#define closesocket(s) close(s) - #endif /* !_WIN32 */ #include "qapi-types.h" diff --git a/io/channel-socket.c b/io/channel-socket.c index ff49853..dced54d 100644 --- a/io/channel-socket.c +++ b/io/channel-socket.c @@ -682,7 +682,7 @@ qio_channel_socket_close(QIOChannel *ioc, { QIOChannelSocket *sioc = QIO_CHANNEL_SOCKET(ioc); - if (closesocket(sioc->fd) < 0) { + if (close(sioc->fd) < 0) { sioc->fd = -1; error_setg_errno(errp, socket_error(), "Unable to close socket"); diff --git a/migration/qemu-file-unix.c b/migration/qemu-file-unix.c index 61b059b..e374ba2 100644 --- a/migration/qemu-file-unix.c +++ b/migration/qemu-file-unix.c @@ -115,7 +115,7 @@ static ssize_t socket_get_buffer(void *opaque, uint8_t *buf, int64_t pos, static int socket_close(void *opaque) { QEMUFileSocket *s = opaque; - closesocket(s->fd); + close(s->fd); g_free(s); return 0; } diff --git a/migration/tcp.c b/migration/tcp.c index e888a4e..3a31202 100644 --- a/migration/tcp.c +++ b/migration/tcp.c @@ -66,7 +66,7 @@ static void tcp_accept_incoming_migration(void *opaque) err = socket_error(); } while (c < 0 && err == EINTR); qemu_set_fd_handler(s, NULL, NULL, NULL); - closesocket(s); + close(s); DPRINTF("accepted migration\n"); @@ -86,7 +86,7 @@ static void tcp_accept_incoming_migration(void *opaque) return; out: - closesocket(c); + close(c); } void tcp_start_incoming_migration(const char *host_port, Error **errp) diff --git a/net/socket.c b/net/socket.c index e32e3cb..fa18500 100644 --- a/net/socket.c +++ b/net/socket.c @@ -163,7 +163,7 @@ static void net_socket_send(void *opaque) if (s->listen_fd != -1) { qemu_set_fd_handler(s->listen_fd, net_socket_accept, NULL, s); } - closesocket(s->fd); + close(s->fd); s->fd = -1; s->state = 0; @@ -325,7 +325,7 @@ static int net_socket_mcast_create(struct sockaddr_in *mcastaddr, struct in_addr return fd; fail: if (fd >= 0) - closesocket(fd); + close(fd); return -1; } @@ -340,7 +340,7 @@ static void net_socket_cleanup(NetClientState *nc) } if (s->listen_fd != -1) { qemu_set_fd_handler(s->listen_fd, NULL, NULL, NULL); - closesocket(s->listen_fd); + close(s->listen_fd); s->listen_fd = -1; } } @@ -417,7 +417,7 @@ static NetSocketState *net_socket_fd_init_dgram(NetClientState *peer, return s; err: - closesocket(fd); + close(fd); return NULL; } @@ -473,7 +473,7 @@ static NetSocketState *net_socket_fd_init(NetClientState *peer, (socklen_t *)&optlen)< 0) { fprintf(stderr, "qemu: error: getsockopt(SO_TYPE) for fd=%d failed\n", fd); - closesocket(fd); + close(fd); return NULL; } switch(so_type) { @@ -540,13 +540,13 @@ static int net_socket_listen_init(NetClientState *peer, ret = bind(fd, (struct sockaddr *)&saddr, sizeof(saddr)); if (ret < 0) { perror("bind"); - closesocket(fd); + close(fd); return -1; } ret = listen(fd, 0); if (ret < 0) { perror("listen"); - closesocket(fd); + close(fd); return -1; } @@ -593,7 +593,7 @@ static int net_socket_connect_init(NetClientState *peer, #endif } else { perror("connect"); - closesocket(fd); + close(fd); return -1; } } else { @@ -675,13 +675,13 @@ static int net_socket_udp_init(NetClientState *peer, ret = socket_set_fast_reuse(fd); if (ret < 0) { - closesocket(fd); + close(fd); return -1; } ret = bind(fd, (struct sockaddr *)&laddr, sizeof(laddr)); if (ret < 0) { perror("bind"); - closesocket(fd); + close(fd); return -1; } qemu_set_nonblock(fd); diff --git a/slirp/ip_icmp.c b/slirp/ip_icmp.c index ace3982..6c7fc63 100644 --- a/slirp/ip_icmp.c +++ b/slirp/ip_icmp.c @@ -110,7 +110,7 @@ static int icmp_send(struct socket *so, struct mbuf *m, int hlen) void icmp_detach(struct socket *so) { - closesocket(so->s); + close(so->s); sofree(so); } diff --git a/slirp/misc.c b/slirp/misc.c index e2eea2e..d7e39af 100644 --- a/slirp/misc.c +++ b/slirp/misc.c @@ -139,7 +139,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty) bind(s, (struct sockaddr *)&addr, addrlen) < 0 || listen(s, 1) < 0) { error_report("Error: inet socket: %s", strerror(errno)); - closesocket(s); + close(s); return 0; } @@ -213,7 +213,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty) do { so->s = accept(s, (struct sockaddr *)&addr, &addrlen); } while (so->s < 0 && errno == EINTR); - closesocket(s); + close(s); socket_set_fast_reuse(so->s); opt = 1; qemu_setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int)); diff --git a/slirp/slirp.h b/slirp/slirp.h index 07c13b47..a6741e7 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -14,8 +14,6 @@ typedef char *caddr_t; # include <iphlpapi.h> #else -# define ioctlsocket ioctl -# define closesocket(s) close(s) # if !defined(__HAIKU__) # define O_BINARY 0 # endif diff --git a/slirp/socket.c b/slirp/socket.c index 2b5453e..f1b9190 100644 --- a/slirp/socket.c +++ b/slirp/socket.c @@ -491,7 +491,7 @@ sorecvfrom(struct socket *so) */ len = M_FREEROOM(m); /* if (so->so_fport != htons(53)) { */ - ioctlsocket(so->s, FIONREAD, &n); + ioctl(so->s, FIONREAD, &n); if (n > len) { n = (m->m_data - m->m_dat) + m->m_len + n + 1; diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c index b1aa1f2..6e07426 100644 --- a/slirp/tcp_subr.c +++ b/slirp/tcp_subr.c @@ -265,7 +265,7 @@ tcp_close(struct tcpcb *tp) /* clobber input socket cache if we're closing the cached connection */ if (so == slirp->tcp_last_so) slirp->tcp_last_so = &slirp->tcb; - closesocket(so->s); + close(so->s); sbfree(&so->so_rcv); sbfree(&so->so_snd); sofree(so); @@ -394,7 +394,7 @@ void tcp_connect(struct socket *inso) so = socreate(slirp); if (so == NULL) { /* If it failed, get rid of the pending connection */ - closesocket(accept(inso->s, (struct sockaddr *)&addr, &addrlen)); + close(accept(inso->s, (struct sockaddr *)&addr, &addrlen)); return; } if (tcp_attach(so) < 0) { @@ -425,7 +425,7 @@ void tcp_connect(struct socket *inso) /* Close the accept() socket, set right state */ if (inso->so_state & SS_FACCEPTONCE) { /* If we only accept once, close the accept() socket */ - closesocket(so->s); + close(so->s); /* Don't select it yet, even though we have an FD */ /* if it's not FACCEPTONCE, it's already NOFDREF */ diff --git a/slirp/udp.c b/slirp/udp.c index 6b39cab..6ec884a 100644 --- a/slirp/udp.c +++ b/slirp/udp.c @@ -291,7 +291,7 @@ udp_attach(struct socket *so, unsigned short af) void udp_detach(struct socket *so) { - closesocket(so->s); + close(so->s); sofree(so); } diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index ad7c00c..cb811b0 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -211,7 +211,7 @@ static int inet_listen_saddr(InetSocketAddress *saddr, } } } - closesocket(slisten); + close(slisten); } freeaddrinfo(res); return -1; @@ -219,7 +219,7 @@ static int inet_listen_saddr(InetSocketAddress *saddr, listen: if (listen(slisten,1) != 0) { error_setg_errno(errp, errno, "Failed to listen on socket"); - closesocket(slisten); + close(slisten); freeaddrinfo(res); return -1; } @@ -279,7 +279,7 @@ static void wait_for_connect(void *opaque) /* connect error */ if (rc < 0) { error_setg_errno(&err, errno, "Error connecting to socket"); - closesocket(s->fd); + close(s->fd); s->fd = rc; } @@ -340,7 +340,7 @@ static int inet_connect_addr(struct addrinfo *addr, bool *in_progress, *in_progress = true; } else if (rc < 0) { error_setg_errno(errp, errno, "Failed to connect socket"); - closesocket(sock); + close(sock); return -1; } return sock; @@ -530,7 +530,7 @@ static int inet_dgram_saddr(InetSocketAddress *sraddr, err: if (-1 != sock) - closesocket(sock); + close(sock); if (local) freeaddrinfo(local); if (peer) @@ -751,7 +751,7 @@ static int unix_listen_saddr(UnixSocketAddress *saddr, return sock; err: - closesocket(sock); + close(sock); return -1; } -- 2.5.0