From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50038) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WClXU-0006Fn-A2 for qemu-devel@nongnu.org; Mon, 10 Feb 2014 02:44:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WClXO-0002wz-9M for qemu-devel@nongnu.org; Mon, 10 Feb 2014 02:44:24 -0500 Received: from mx1.redhat.com ([209.132.183.28]:15199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WClXO-0002wv-1H for qemu-devel@nongnu.org; Mon, 10 Feb 2014 02:44:18 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s1A7iHfY010475 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 10 Feb 2014 02:44:17 -0500 Date: Mon, 10 Feb 2014 15:44:24 +0800 From: Fam Zheng Message-ID: <20140210074424.GF15707@T430.nay.redhat.com> References: <1391939335-31580-1-git-send-email-pbonzini@redhat.com> <1391939335-31580-5-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1391939335-31580-5-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH 04/20] nbd: move socket wrappers to qemu-nbd List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, mreitz@redhat.com On Sun, 02/09 10:48, Paolo Bonzini wrote: > qemu-nbd is one of the few valid users of qerror_report_err. Move > the error-reporting socket wrappers there. > > Signed-off-by: Paolo Bonzini > --- > include/block/nbd.h | 4 ---- > nbd.c | 50 -------------------------------------------------- > qemu-nbd.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 52 insertions(+), 54 deletions(-) > > diff --git a/include/block/nbd.h b/include/block/nbd.h > index 1b39c06..79502a0 100644 > --- a/include/block/nbd.h > +++ b/include/block/nbd.h > @@ -62,10 +62,6 @@ enum { > #define NBD_MAX_BUFFER_SIZE (32 * 1024 * 1024) > > ssize_t nbd_wr_sync(int fd, void *buffer, size_t size, bool do_read); > -int tcp_socket_incoming(const char *address, uint16_t port); > -int unix_socket_outgoing(const char *path); > -int unix_socket_incoming(const char *path); > - > int nbd_receive_negotiate(int csock, const char *name, uint32_t *flags, > off_t *size, size_t *blocksize); > int nbd_init(int fd, int csock, uint32_t flags, off_t size, size_t blocksize); > diff --git a/nbd.c b/nbd.c > index 2fc1f1f..e5084b6 100644 > --- a/nbd.c > +++ b/nbd.c > @@ -188,56 +188,6 @@ static ssize_t write_sync(int fd, void *buffer, size_t size) > return ret; > } > > -static void combine_addr(char *buf, size_t len, const char* address, > - uint16_t port) > -{ > - /* If the address-part contains a colon, it's an IPv6 IP so needs [] */ > - if (strstr(address, ":")) { > - snprintf(buf, len, "[%s]:%u", address, port); > - } else { > - snprintf(buf, len, "%s:%u", address, port); > - } > -} > - > -int tcp_socket_incoming(const char *address, uint16_t port) > -{ > - char address_and_port[128]; > - Error *local_err = NULL; > - > - combine_addr(address_and_port, 128, address, port); > - int fd = inet_listen(address_and_port, NULL, 0, SOCK_STREAM, 0, &local_err); > - > - if (local_err != NULL) { > - qerror_report_err(local_err); > - error_free(local_err); > - } > - return fd; > -} > - > -int unix_socket_incoming(const char *path) > -{ > - Error *local_err = NULL; > - int fd = unix_listen(path, NULL, 0, &local_err); > - > - if (local_err != NULL) { > - qerror_report_err(local_err); > - error_free(local_err); > - } > - return fd; > -} > - > -int unix_socket_outgoing(const char *path) > -{ > - Error *local_err = NULL; > - int fd = unix_connect(path, &local_err); > - > - if (local_err != NULL) { > - qerror_report_err(local_err); > - error_free(local_err); > - } > - return fd; > -} > - > /* Basic flow for negotiation > > Server Client > diff --git a/qemu-nbd.c b/qemu-nbd.c > index 136e8c9..8138435 100644 > --- a/qemu-nbd.c > +++ b/qemu-nbd.c > @@ -20,6 +20,8 @@ > #include "block/block.h" > #include "block/nbd.h" > #include "qemu/main-loop.h" > +#include "qemu/sockets.h" > +#include "qemu/error-report.h" > #include "block/snapshot.h" > > #include > @@ -201,6 +203,56 @@ static void termsig_handler(int signum) > qemu_notify_event(); > } > > +static void combine_addr(char *buf, size_t len, const char* address, > + uint16_t port) > +{ > + /* If the address-part contains a colon, it's an IPv6 IP so needs [] */ > + if (strstr(address, ":")) { > + snprintf(buf, len, "[%s]:%u", address, port); > + } else { > + snprintf(buf, len, "%s:%u", address, port); > + } > +} > + > +static int tcp_socket_incoming(const char *address, uint16_t port) > +{ > + char address_and_port[128]; > + Error *local_err = NULL; > + > + combine_addr(address_and_port, 128, address, port); > + int fd = inet_listen(address_and_port, NULL, 0, SOCK_STREAM, 0, &local_err); > + > + if (local_err != NULL) { > + qerror_report_err(local_err); > + error_free(local_err); > + } > + return fd; > +} > + > +static int unix_socket_incoming(const char *path) > +{ > + Error *local_err = NULL; > + int fd = unix_listen(path, NULL, 0, &local_err); > + > + if (local_err != NULL) { > + qerror_report_err(local_err); > + error_free(local_err); > + } > + return fd; > +} > + > +static int unix_socket_outgoing(const char *path) > +{ > + Error *local_err = NULL; > + int fd = unix_connect(path, &local_err); > + > + if (local_err != NULL) { > + qerror_report_err(local_err); > + error_free(local_err); > + } > + return fd; > +} > + > static void *show_parts(void *arg) > { > char *device = arg; > -- > 1.8.5.3 > > > Reviewed-by: Fam Zheng