[libvirt] [PATCH 4/9] conf: add virDomainHasNet

Jim Fehlig jfehlig at suse.com
Fri Mar 13 17:53:01 UTC 2015


Marek Marczykowski-Górecki wrote:
> virDomainNetFindIdx no longer returns info whether device was not found,
> or there was multiple matches. Additionally it already handle error
> reporting. Introduce virDomainHasNet which does a simple task, without
> implicit error reporting.
>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek at invisiblethingslab.com>
> ---
>  src/conf/domain_conf.c   | 21 +++++++++++++++++++++
>  src/conf/domain_conf.h   |  1 +
>  src/libvirt_private.syms |  1 +
>  3 files changed, 23 insertions(+)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 9b7ae3f..c430e03 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -11908,6 +11908,27 @@ virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net)
>      return matchidx;
>  }
>  
> +bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net)
>   

Nit: libvirt style is to have return type on separate line.

> +{
> +    size_t i;
> +    bool PCIAddrSpecified = virDomainDeviceAddressIsValid(&net->info,
> +                                                          VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI);
> +
> +    for (i = 0; i < def->nnets; i++) {
> +        if (virMacAddrCmp(&def->nets[i]->mac, &net->mac))
> +            continue;
> +
> +        if (PCIAddrSpecified) {
>   

Braces here are fine, where the single statement spans multiple lines.

> +            if (virDevicePCIAddressEqual(&def->nets[i]->info.addr.pci,
> +                                         &net->info.addr.pci)) {
> +                return true;
> +            }
>   

But not needed here.

ACK.  Will fix the nits before pushing.

Regards,
Jim

> +        } else {
> +            return true;
> +        }
> +    }
> +    return false;
> +}
>  
>  void
>  virDomainNetRemoveHostdev(virDomainDefPtr def,
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 02ddd93..36c8131 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -2601,6 +2601,7 @@ bool virDomainHasDiskMirror(virDomainObjPtr vm);
>  
>  int virDomainNetFindIdx(virDomainDefPtr def, virDomainNetDefPtr net);
>  virDomainNetDefPtr virDomainNetFind(virDomainDefPtr def, const char *device);
> +bool virDomainHasNet(virDomainDefPtr def, virDomainNetDefPtr net);
>  int virDomainNetInsert(virDomainDefPtr def, virDomainNetDefPtr net);
>  virDomainNetDefPtr virDomainNetRemove(virDomainDefPtr def, size_t i);
>  void virDomainNetRemoveHostdev(virDomainDefPtr def, virDomainNetDefPtr net);
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index ba05cc6..5fe6ae0 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -292,6 +292,7 @@ virDomainGraphicsTypeToString;
>  virDomainGraphicsVNCSharePolicyTypeFromString;
>  virDomainGraphicsVNCSharePolicyTypeToString;
>  virDomainHasDiskMirror;
> +virDomainHasNet;
>  virDomainHostdevCapsTypeToString;
>  virDomainHostdevDefAlloc;
>  virDomainHostdevDefClear;
>   




More information about the libvir-list mailing list