@samitouri / QOSamiQemu / commits / a44c32c1b9

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 }