From 80b832c300c2fc39c68e0ab095d408cb9199cfa0 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Fri, 15 May 2015 13:58:55 +0200 Subject: [PATCH] tap: Convert tap_set_sndbuf() to Error Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Message-id: 1431691143-1015-8-git-send-email-armbru@redhat.com Signed-off-by: Stefan Hajnoczi --- net/tap-aix.c | 3 +-- net/tap-bsd.c | 3 +-- net/tap-haiku.c | 3 +-- net/tap-linux.c | 6 ++---- net/tap-solaris.c | 3 +-- net/tap.c | 4 +++- net/tap_int.h | 2 +- 7 files changed, 10 insertions(+), 14 deletions(-) diff --git a/net/tap-aix.c b/net/tap-aix.c index 804d16448d..0a3d46158f 100644 --- a/net/tap-aix.c +++ b/net/tap-aix.c @@ -32,9 +32,8 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, return -1; } -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp) { - return 0; } int tap_probe_vnet_hdr(int fd) diff --git a/net/tap-bsd.c b/net/tap-bsd.c index bf91bd03fd..53cdd9f4e1 100644 --- a/net/tap-bsd.c +++ b/net/tap-bsd.c @@ -176,9 +176,8 @@ error: } #endif /* __FreeBSD__ */ -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp) { - return 0; } int tap_probe_vnet_hdr(int fd) diff --git a/net/tap-haiku.c b/net/tap-haiku.c index e5ce436d24..0905b2887d 100644 --- a/net/tap-haiku.c +++ b/net/tap-haiku.c @@ -32,9 +32,8 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, return -1; } -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp) { - return 0; } int tap_probe_vnet_hdr(int fd) diff --git a/net/tap-linux.c b/net/tap-linux.c index 812bf2dfc6..6fa27442bc 100644 --- a/net/tap-linux.c +++ b/net/tap-linux.c @@ -126,7 +126,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, */ #define TAP_DEFAULT_SNDBUF 0 -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp) { int sndbuf; @@ -139,10 +139,8 @@ int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) } if (ioctl(fd, TUNSETSNDBUF, &sndbuf) == -1 && tap->has_sndbuf) { - error_report("TUNSETSNDBUF ioctl failed: %s", strerror(errno)); - return -1; + error_setg_errno(errp, errno, "TUNSETSNDBUF ioctl failed"); } - return 0; } int tap_probe_vnet_hdr(int fd) diff --git a/net/tap-solaris.c b/net/tap-solaris.c index 9c7278f1bf..7839323e20 100644 --- a/net/tap-solaris.c +++ b/net/tap-solaris.c @@ -198,9 +198,8 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, return fd; } -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap) +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp) { - return 0; } int tap_probe_vnet_hdr(int fd) diff --git a/net/tap.c b/net/tap.c index 23c81faab5..d54222d068 100644 --- a/net/tap.c +++ b/net/tap.c @@ -610,7 +610,9 @@ static int net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer, TAPState *s = net_tap_fd_init(peer, model, name, fd, vnet_hdr); int vhostfd; - if (tap_set_sndbuf(s->fd, tap) < 0) { + tap_set_sndbuf(s->fd, tap, &err); + if (err) { + error_report_err(err); return -1; } diff --git a/net/tap_int.h b/net/tap_int.h index 79afdf2d58..6df271f823 100644 --- a/net/tap_int.h +++ b/net/tap_int.h @@ -34,7 +34,7 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, ssize_t tap_read_packet(int tapfd, uint8_t *buf, int maxlen); -int tap_set_sndbuf(int fd, const NetdevTapOptions *tap); +void tap_set_sndbuf(int fd, const NetdevTapOptions *tap, Error **errp); int tap_probe_vnet_hdr(int fd); int tap_probe_vnet_hdr_len(int fd, int len); int tap_probe_has_ufo(int fd);