]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: test if bandwidth has 'floor' factored out to separate function
authorPavel Mores <pmores@redhat.com>
Fri, 14 Feb 2020 16:26:19 +0000 (17:26 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 17 Feb 2020 16:25:52 +0000 (17:25 +0100)
This compound condition will be useful in several places so it
makes sense to give it a name for better readability.

Signed-off-by: Pavel Mores <pmores@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/netdev_bandwidth_conf.c
src/conf/netdev_bandwidth_conf.h
src/libvirt_private.syms
src/network/bridge_driver.c

index a6b41976c694076409b369c013d3219e46a4f8f2..6307ac4d56f5e2283559a59c3ba3d8c7a7c9d733 100644 (file)
@@ -297,3 +297,10 @@ virDomainClearNetBandwidth(virDomainObjPtr vm)
             virNetDevBandwidthClear(vm->def->nets[i]->ifname);
     }
 }
+
+
+bool
+virNetDevBandwidthHasFloor(const virNetDevBandwidth *b)
+{
+    return b && b->in && b->in->floor != 0;
+}
index 0004e48a4acb3d11d5b32653432965f3f6fdba21..0e10a4cb01f5c78a2a11a6340b6aa599b1aa91cd 100644 (file)
@@ -57,3 +57,6 @@ static inline bool virNetDevSupportBandwidth(virDomainNetType type)
     }
     return false;
 }
+
+
+bool virNetDevBandwidthHasFloor(const virNetDevBandwidth *b);
index dc0449d1d8a5bcb78aadca69818ee6b9bb66a941..73c94ed81a25600ed0465b49cee94a9c81f778a8 100644 (file)
@@ -733,6 +733,7 @@ virInterfaceDefParseString;
 # conf/netdev_bandwidth_conf.h
 virDomainClearNetBandwidth;
 virNetDevBandwidthFormat;
+virNetDevBandwidthHasFloor;
 virNetDevBandwidthParse;
 
 
index 94212eec77a52d1d36be6a6df31efce337b62ea1..6d7eadad437fb453b23f9cf115a8aa3fb2436091 100644 (file)
@@ -5065,7 +5065,7 @@ networkCheckBandwidth(virNetworkObjPtr obj,
 
     virMacAddrFormat(ifaceMac, ifmac);
 
-    if (ifaceBand && ifaceBand->in && ifaceBand->in->floor &&
+    if (virNetDevBandwidthHasFloor(ifaceBand) &&
         !(netBand && netBand->in)) {
         virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
                        _("Invalid use of 'floor' on interface with MAC "
@@ -5079,8 +5079,9 @@ networkCheckBandwidth(virNetworkObjPtr obj,
         /* no QoS required, claim success */
         return 1;
     }
-    if (((!ifaceBand || !ifaceBand->in || !ifaceBand->in->floor) &&
-         (!oldBandwidth || !oldBandwidth->in || !oldBandwidth->in->floor))) {
+    if (!virNetDevBandwidthHasFloor(ifaceBand) &&
+        !virNetDevBandwidthHasFloor(oldBandwidth)) {
+
         VIR_DEBUG("No old/new interface bandwidth floor");
         /* no QoS required, claim success */
         return 1;