[libvirt] [PATCH 1/2] netdev: Use virNetDevIsVirtualFunction() properly

Andrea Bolognani abologna at redhat.com
Thu Feb 25 16:27:11 UTC 2016


On Thu, 2016-02-25 at 15:51 +0100, Michal Privoznik wrote:
> On 25.02.2016 14:02, Andrea Bolognani wrote:
> > 
> > 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 | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/util/virnetdev.c b/src/util/virnetdev.c
> > index ea95552..9e39c26 100644
> > --- a/src/util/virnetdev.c
> > +++ b/src/util/virnetdev.c
> > @@ -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
> > 
> ACK and safe for the freeze.
> 
> Nice catch btw.

Pushed, thanks :)

-- 
Andrea Bolognani
Software Engineer - Virtualization Team




More information about the libvir-list mailing list