[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