From: Roopa Prabhu <roprabhu@xxxxxxxxx> Fixes some cases where 1 was being returned instead of -1. There are still some inconsistencies in the file with respect to what the return variable is initialized to. Can be fixed as a separate patch if needed. The scope of this patch is just to fix the return value 1. Did some basic sanity test. Signed-off-by: Roopa Prabhu <roprabhu@xxxxxxxxx> Reported-by: Eric Blake <eblake@xxxxxxxxx> --- src/util/macvtap.c | 22 ++++++++-------------- 1 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/util/macvtap.c b/src/util/macvtap.c index 7fd6eb5..f8b9d55 100644 --- a/src/util/macvtap.c +++ b/src/util/macvtap.c @@ -480,7 +480,7 @@ getPortProfileStatus(struct nlattr **tb, int32_t vf, bool is8021Qbg, uint16_t *status) { - int rc = 1; + int rc = -1; const char *msg = NULL; struct nlattr *tb_port[IFLA_PORT_MAX + 1] = { NULL, }; @@ -806,7 +806,7 @@ doPortProfileOpCommon(bool nltarget_kernel, _("error %d during port-profile setlink on " "interface %s (%d)"), status, ifname, ifindex); - rc = 1; + rc = -1; break; } @@ -867,7 +867,7 @@ doPortProfileOp8021Qbg(const char *ifname, const virVirtualPortProfileParamsPtr virtPort, enum virVirtualPortOp virtPortOp) { - int rc; + int rc = -1; # ifndef IFLA_VF_PORT_MAX @@ -877,7 +877,6 @@ doPortProfileOp8021Qbg(const char *ifname, (void)virtPortOp; macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", _("Kernel VF Port support was missing at compile time.")); - rc = 1; # else /* IFLA_VF_PORT_MAX */ @@ -893,10 +892,8 @@ doPortProfileOp8021Qbg(const char *ifname, int vf = PORT_SELF_VF; if (getPhysdevAndVlan(ifname, &physdev_ifindex, physdev_ifname, - &vlanid) != 0) { - rc = 1; + &vlanid) != 0) goto err_exit; - } if (vlanid < 0) vlanid = 0; @@ -918,7 +915,6 @@ doPortProfileOp8021Qbg(const char *ifname, default: macvtapError(VIR_ERR_INTERNAL_ERROR, _("operation type %d not supported"), virtPortOp); - rc = 1; goto err_exit; } @@ -982,7 +978,7 @@ doPortProfileOp8021Qbh(const char *ifname, const unsigned char *vm_uuid, enum virVirtualPortOp virtPortOp) { - int rc; + int rc = -1; # ifndef IFLA_VF_PORT_MAX @@ -993,7 +989,6 @@ doPortProfileOp8021Qbh(const char *ifname, (void)virtPortOp; macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", _("Kernel VF Port support was missing at compile time.")); - rc = 1; # else /* IFLA_VF_PORT_MAX */ @@ -1008,10 +1003,9 @@ doPortProfileOp8021Qbh(const char *ifname, if (rc) goto err_exit; - if (ifaceGetIndex(true, physfndev, &ifindex) < 0) { - rc = 1; + rc = ifaceGetIndex(true, physfndev, &ifindex); + if (rc < 0) goto err_exit; - } switch (virtPortOp) { case PREASSOCIATE_RR: @@ -1059,7 +1053,7 @@ doPortProfileOp8021Qbh(const char *ifname, default: macvtapError(VIR_ERR_INTERNAL_ERROR, _("operation type %d not supported"), virtPortOp); - rc = 1; + rc = -1; } err_exit: -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list