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>
Vladimir Sementsov-Ogievskiy committed
Mar 18, 2026 at 14:31 UTC
a44c32c1b943cf49939fe5d4c1daaf04be59010a
1 file changed
+17
-25
net/tap.c
+17
-25
@@ -703,7 +703,7 @@ static int net_tap_init(const NetdevTapOptions *tap, int *vnet_hdr,
703
704
#define MAX_TAP_QUEUES 1024
705
706
-static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
706
+static bool net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
707
const char *model, const char *name,
708
const char *ifname, const char *script,
709
const char *downscript, const char *vhostfdname,
@@ -783,10 +783,11 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
783
}
784
}
785
786
- return;
786
+ return true;
787
788
failed:
789
qemu_del_net_client(&s->nc);
790
+ return false;
791
}
792
793
static int get_fds(char *str, char *fds[], int max)
@@ -821,7 +822,6 @@ int net_init_tap(const Netdev *netdev, const char *name,
822
const NetdevTapOptions *tap;
823
int fd, vnet_hdr = 0, i = 0, queues;
824
/* for the no-fd, no-helper case */
824
- Error *err = NULL;
825
const char *vhostfdname;
826
char ifname[128];
827
int ret = 0;
@@ -869,11 +869,9 @@ int net_init_tap(const Netdev *netdev, const char *name,
869
return -1;
870
}
871
872
- net_init_tap_one(tap, peer, "tap", name, NULL,
873
- NULL, NULL,
874
- vhostfdname, vnet_hdr, fd, &err);
875
- if (err) {
876
- error_propagate(errp, err);
872
+ if (!net_init_tap_one(tap, peer, "tap", name, NULL,
873
+ NULL, NULL,
874
+ vhostfdname, vnet_hdr, fd, errp)) {
875
close(fd);
876
return -1;
877
}
@@ -930,12 +928,10 @@ int net_init_tap(const Netdev *netdev, const char *name,
928
goto free_fail;
929
}
930
933
- net_init_tap_one(tap, peer, "tap", name, ifname,
934
- NULL, NULL,
935
- tap->vhostfds ? vhost_fds[i] : NULL,
936
- vnet_hdr, fd, &err);
937
- if (err) {
938
- error_propagate(errp, err);
931
+ if (!net_init_tap_one(tap, peer, "tap", name, ifname,
932
+ NULL, NULL,
933
+ tap->vhostfds ? vhost_fds[i] : NULL,
934
+ vnet_hdr, fd, errp)) {
935
ret = -1;
936
goto free_fail;
937
}
@@ -975,11 +971,9 @@ free_fail:
971
return -1;
972
}
973
978
- net_init_tap_one(tap, peer, "bridge", name, ifname,
979
- NULL, NULL, vhostfdname,
980
- vnet_hdr, fd, &err);
981
- if (err) {
982
- error_propagate(errp, err);
974
+ if (!net_init_tap_one(tap, peer, "bridge", name, ifname,
975
+ NULL, NULL, vhostfdname,
976
+ vnet_hdr, fd, errp)) {
977
close(fd);
978
return -1;
979
}
@@ -1015,12 +1009,10 @@ free_fail:
1009
}
1010
}
1011
1018
- net_init_tap_one(tap, peer, "tap", name, ifname,
1019
- i >= 1 ? NULL : script,
1020
- i >= 1 ? NULL : downscript,
1021
- vhostfdname, vnet_hdr, fd, &err);
1022
- if (err) {
1023
- error_propagate(errp, err);
1012
+ if (!net_init_tap_one(tap, peer, "tap", name, ifname,
1013
+ i >= 1 ? NULL : script,
1014
+ i >= 1 ? NULL : downscript,
1015
+ vhostfdname, vnet_hdr, fd, errp)) {
1016
close(fd);
1017
return -1;
1018
}