From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:40898) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCRUu-0006gR-SV for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:15:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UCRUp-00020D-SB for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:15:52 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38203) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UCRUp-0001zz-Iu for qemu-devel@nongnu.org; Mon, 04 Mar 2013 04:15:47 -0500 From: Stefan Hajnoczi Date: Mon, 4 Mar 2013 10:15:27 +0100 Message-Id: <1362388531-32305-6-git-send-email-stefanha@redhat.com> In-Reply-To: <1362388531-32305-1-git-send-email-stefanha@redhat.com> References: <1362388531-32305-1-git-send-email-stefanha@redhat.com> Subject: [Qemu-devel] [PATCH 5/9] move socket_set_nodelay to osdep.c List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , Stefan Hajnoczi , MORITA Kazutaka From: MORITA Kazutaka Signed-off-by: MORITA Kazutaka Signed-off-by: Stefan Hajnoczi --- block/sheepdog.c | 11 +---------- gdbstub.c | 5 ++--- include/qemu/sockets.h | 1 + qemu-char.c | 6 ------ slirp/tcp_subr.c | 3 +-- util/osdep.c | 6 ++++++ 6 files changed, 11 insertions(+), 21 deletions(-) diff --git a/block/sheepdog.c b/block/sheepdog.c index d466b23..51e75ad 100644 --- a/block/sheepdog.c +++ b/block/sheepdog.c @@ -787,15 +787,6 @@ static int aio_flush_request(void *opaque) !QLIST_EMPTY(&s->pending_aio_head); } -static int set_nodelay(int fd) -{ - int ret, opt; - - opt = 1; - ret = setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *)&opt, sizeof(opt)); - return ret; -} - /* * Return a socket discriptor to read/write objects. * @@ -814,7 +805,7 @@ static int get_sheep_fd(BDRVSheepdogState *s) socket_set_nonblock(fd); - ret = set_nodelay(fd); + ret = socket_set_nodelay(fd); if (ret) { error_report("%s", strerror(errno)); closesocket(fd); diff --git a/gdbstub.c b/gdbstub.c index 32dfea9..e414ad9 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -2841,7 +2841,7 @@ static void gdb_accept(void) GDBState *s; struct sockaddr_in sockaddr; socklen_t len; - int val, fd; + int fd; for(;;) { len = sizeof(sockaddr); @@ -2858,8 +2858,7 @@ static void gdb_accept(void) } /* set short latency */ - val = 1; - setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *)&val, sizeof(val)); + socket_set_nodelay(fd); s = g_malloc0(sizeof(GDBState)); s->c_cpu = first_cpu; diff --git a/include/qemu/sockets.h b/include/qemu/sockets.h index 803ae17..6125bf7 100644 --- a/include/qemu/sockets.h +++ b/include/qemu/sockets.h @@ -34,6 +34,7 @@ int inet_aton(const char *cp, struct in_addr *ia); int qemu_socket(int domain, int type, int protocol); int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen); int socket_set_cork(int fd, int v); +int socket_set_nodelay(int fd); void socket_set_block(int fd); void socket_set_nonblock(int fd); int send_all(int fd, const void *buf, int len1); diff --git a/qemu-char.c b/qemu-char.c index 160decc..36295b1 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -2365,12 +2365,6 @@ static void tcp_chr_telnet_init(int fd) send(fd, (char *)buf, 3, 0); } -static void socket_set_nodelay(int fd) -{ - int val = 1; - setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char *)&val, sizeof(val)); -} - static int tcp_chr_add_client(CharDriverState *chr, int fd) { TCPCharDriver *s = chr->opaque; diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c index 317dc07..7b7ad60 100644 --- a/slirp/tcp_subr.c +++ b/slirp/tcp_subr.c @@ -430,8 +430,7 @@ void tcp_connect(struct socket *inso) setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); opt = 1; setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int)); - opt = 1; - setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (char *)&opt, sizeof(int)); + socket_set_nodelay(s); so->so_fport = addr.sin_port; so->so_faddr = addr.sin_addr; diff --git a/util/osdep.c b/util/osdep.c index 5b51a03..c408261 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -63,6 +63,12 @@ int socket_set_cork(int fd, int v) #endif } +int socket_set_nodelay(int fd) +{ + int v = 1; + return setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &v, sizeof(v)); +} + int qemu_madvise(void *addr, size_t len, int advice) { if (advice == QEMU_MADV_INVALID) { -- 1.8.1.4