net/tap: net_init_tap_one(): add return value
Follow common recommendations in include/qapi/error.h of having a return value together with errp. This allows to avoid error propagation. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by: Ben Chaney <bchaney@akamai.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
committed by
Jason Wang
parent
fb96c3e818
commit
a44c32c1b9
42
net/tap.c
42
net/tap.c
@@ -703,7 +703,7 @@ static int net_tap_init(const NetdevTapOptions *tap, int *vnet_hdr,
|
||||
|
||||
#define MAX_TAP_QUEUES 1024
|
||||
|
||||
static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
||||
static bool net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
||||
const char *model, const char *name,
|
||||
const char *ifname, const char *script,
|
||||
const char *downscript, const char *vhostfdname,
|
||||
@@ -783,10 +783,11 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
return true;
|
||||
|
||||
failed:
|
||||
qemu_del_net_client(&s->nc);
|
||||
return false;
|
||||
}
|
||||
|
||||
static int get_fds(char *str, char *fds[], int max)
|
||||
@@ -821,7 +822,6 @@ int net_init_tap(const Netdev *netdev, const char *name,
|
||||
const NetdevTapOptions *tap;
|
||||
int fd, vnet_hdr = 0, i = 0, queues;
|
||||
/* for the no-fd, no-helper case */
|
||||
Error *err = NULL;
|
||||
const char *vhostfdname;
|
||||
char ifname[128];
|
||||
int ret = 0;
|
||||
@@ -869,11 +869,9 @@ int net_init_tap(const Netdev *netdev, const char *name,
|
||||
return -1;
|
||||
}
|
||||
|
||||
net_init_tap_one(tap, peer, "tap", name, NULL,
|
||||
NULL, NULL,
|
||||
vhostfdname, vnet_hdr, fd, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
if (!net_init_tap_one(tap, peer, "tap", name, NULL,
|
||||
NULL, NULL,
|
||||
vhostfdname, vnet_hdr, fd, errp)) {
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
@@ -930,12 +928,10 @@ int net_init_tap(const Netdev *netdev, const char *name,
|
||||
goto free_fail;
|
||||
}
|
||||
|
||||
net_init_tap_one(tap, peer, "tap", name, ifname,
|
||||
NULL, NULL,
|
||||
tap->vhostfds ? vhost_fds[i] : NULL,
|
||||
vnet_hdr, fd, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
if (!net_init_tap_one(tap, peer, "tap", name, ifname,
|
||||
NULL, NULL,
|
||||
tap->vhostfds ? vhost_fds[i] : NULL,
|
||||
vnet_hdr, fd, errp)) {
|
||||
ret = -1;
|
||||
goto free_fail;
|
||||
}
|
||||
@@ -975,11 +971,9 @@ free_fail:
|
||||
return -1;
|
||||
}
|
||||
|
||||
net_init_tap_one(tap, peer, "bridge", name, ifname,
|
||||
NULL, NULL, vhostfdname,
|
||||
vnet_hdr, fd, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
if (!net_init_tap_one(tap, peer, "bridge", name, ifname,
|
||||
NULL, NULL, vhostfdname,
|
||||
vnet_hdr, fd, errp)) {
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
@@ -1015,12 +1009,10 @@ free_fail:
|
||||
}
|
||||
}
|
||||
|
||||
net_init_tap_one(tap, peer, "tap", name, ifname,
|
||||
i >= 1 ? NULL : script,
|
||||
i >= 1 ? NULL : downscript,
|
||||
vhostfdname, vnet_hdr, fd, &err);
|
||||
if (err) {
|
||||
error_propagate(errp, err);
|
||||
if (!net_init_tap_one(tap, peer, "tap", name, ifname,
|
||||
i >= 1 ? NULL : script,
|
||||
i >= 1 ? NULL : downscript,
|
||||
vhostfdname, vnet_hdr, fd, errp)) {
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user