]> xenbits.xensource.com Git - libvirt.git/commitdiff
netdev: Use virNetDevIsVirtualFunction() properly
authorAndrea Bolognani <abologna@redhat.com>
Thu, 25 Feb 2016 11:03:35 +0000 (12:03 +0100)
committerAndrea Bolognani <abologna@redhat.com>
Thu, 25 Feb 2016 16:09:52 +0000 (17:09 +0100)
virNetDevIsVirtualFunction() returns 1 if the interface is a
virtual function, 0 if it isn't and -1 on error. This means that,
despite the name suggesting otherwise, using it as a predicate is
not correct.

Fix two callers that were doing so adding an explicit check on
the return value.

src/util/virnetdev.c

index 5c79c422e133ceabd527669e557268c4999c7d7e..aed50f54626365ecf546a9e3edaeb5434c67255d 100644 (file)
@@ -2531,7 +2531,7 @@ virNetDevReplaceNetConfig(const char *linkdev, int vf,
     int ret = -1;
     char *pfdevname = NULL;
 
-    if (vf == -1 && virNetDevIsVirtualFunction(linkdev)) {
+    if (vf == -1 && virNetDevIsVirtualFunction(linkdev) == 1) {
         /* If this really *is* a VF and the caller just didn't know
          * it, we should set the MAC address via PF+vf# instead of
          * setting directly via VF, because the latter will be
@@ -2571,7 +2571,7 @@ virNetDevRestoreNetConfig(const char *linkdev, int vf, const char *stateDir)
     char *pfdevname = NULL;
     const char *vfdevname = NULL;
 
-    if (vf == -1 && virNetDevIsVirtualFunction(linkdev)) {
+    if (vf == -1 && virNetDevIsVirtualFunction(linkdev) == 1) {
         /* If this really *is* a VF and the caller just didn't know
          * it, we should set the MAC address via PF+vf# instead of
          * setting directly via VF, because the latter will be