netdev: Use virNetDevIsVirtualFunction() properly

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.
This commit is contained in:
Andrea Bolognani 2016-02-25 12:03:35 +01:00
parent 04e10925a1
commit dec3a4a135

View 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