[PATCHv2 5/6] virnetdevovs: Fix qos cleaning residual on multi interfaces

jx8zjs jx8zjs at 126.com
Tue Aug 17 04:38:15 UTC 2021


From: Jinsheng Zhang <zhangjl02 at inspur.com>

Warn these error instead of return when removing qos or queues. This will
avoid residual qos clearance on multiple interfaces.

Signed-off-by: zhangjl02 <zhangjl02 at inspur.com>
---
 src/util/virnetdevopenvswitch.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/src/util/virnetdevopenvswitch.c b/src/util/virnetdevopenvswitch.c
index 7c13e1764f..e014a158f1 100644
--- a/src/util/virnetdevopenvswitch.c
+++ b/src/util/virnetdevopenvswitch.c
@@ -816,6 +816,7 @@ int
 virNetDevOpenvswitchInterfaceClearTxQos(const char *ifname,
                                         const unsigned char *vmuuid)
 {
+    int ret = 0;
     char vmuuidstr[VIR_UUID_STRING_BUFLEN];
     g_autoptr(virCommand) cmd = NULL;
     g_autofree char *ifname_ex_id = NULL;
@@ -863,9 +864,8 @@ virNetDevOpenvswitchInterfaceClearTxQos(const char *ifname,
             cmd = virNetDevOpenvswitchCreateCmd();
             virCommandAddArgList(cmd, "destroy", "qos", line, NULL);
             if (virCommandRun(cmd, NULL) < 0) {
-                virReportError(VIR_ERR_INTERNAL_ERROR,
-                               _("Unable to destroy qos on port %s"), ifname);
-                return -1;
+                VIR_WARN("Unable to destroy qos on port %s", ifname);
+                ret = -1;
             }
         }
     }
@@ -882,14 +882,13 @@ virNetDevOpenvswitchInterfaceClearTxQos(const char *ifname,
             cmd = virNetDevOpenvswitchCreateCmd();
             virCommandAddArgList(cmd, "destroy", "queue", line, NULL);
             if (virCommandRun(cmd, NULL) < 0) {
-                virReportError(VIR_ERR_INTERNAL_ERROR,
-                               _("Unable to destroy queue on port %s"), ifname);
-                return -1;
+                VIR_WARN("Unable to destroy queue on port %s", ifname);
+                ret = -1;
             }
         }
     }
 
-    return 0;
+    return ret;
 }
 
 int
@@ -904,7 +903,7 @@ virNetDevOpenvswitchInterfaceClearRxQos(const char *ifname)
 
     if (virCommandRun(cmd, NULL) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("Unable to set vlan configuration on port %s"), ifname);
+                       _("Unable to reset ingress on port %s"), ifname);
         return -1;
     }
 
-- 
2.30.2.windows.1




More information about the libvir-list mailing list