[libvirt] [PATCH v2 05/10] qemu: don't pass virConnectPtr around for secrets

John Ferlan jferlan at redhat.com
Fri Feb 16 03:01:25 UTC 2018



On 02/15/2018 11:50 AM, Daniel P. Berrangé wrote:
> During domain startup there are many places where we need to acquire
> secrets. Currently code passes around a virConnectPtr, except in the
> places where we pass in NULL. So there are a few codepaths where ability
> to start guests using secrets will fail. Change to acquire a handle to
> the secret driver when needed.
> 
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
>  src/qemu/qemu_domain.c    | 111 ++++++++++++++++++++++------------------------
>  src/qemu/qemu_domain.h    |  15 +++----
>  src/qemu/qemu_driver.c    |  18 ++++----
>  src/qemu/qemu_hotplug.c   |  64 +++++++++++---------------
>  src/qemu/qemu_hotplug.h   |  15 +++----
>  src/qemu/qemu_migration.c |  10 ++---
>  src/qemu/qemu_process.c   |  40 +++++------------
>  tests/qemuhotplugtest.c   |   4 +-
>  8 files changed, 114 insertions(+), 163 deletions(-)
> 

[...]
I tried a Coverity build...

> diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
> index f3ec5d8042..62d84a7364 100644
> --- a/src/qemu/qemu_domain.h
> +++ b/src/qemu/qemu_domain.h
> @@ -836,24 +836,21 @@ bool qemuDomainDiskHasEncryptionSecret(virStorageSourcePtr src)
>      ATTRIBUTE_NONNULL(1);
>  
>  qemuDomainSecretInfoPtr
> -qemuDomainSecretInfoTLSNew(virConnectPtr conn,
> -                           qemuDomainObjPrivatePtr priv,
> +qemuDomainSecretInfoTLSNew(qemuDomainObjPrivatePtr priv,
>                             const char *srcAlias,
>                             const char *secretUUID);
>  
>  void qemuDomainSecretHostdevDestroy(virDomainHostdevDefPtr disk)
>      ATTRIBUTE_NONNULL(1);
>  
> -int qemuDomainSecretHostdevPrepare(virConnectPtr conn,
> -                                   qemuDomainObjPrivatePtr priv,
> +int qemuDomainSecretHostdevPrepare(qemuDomainObjPrivatePtr priv,
>                                     virDomainHostdevDefPtr hostdev)
>      ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);

Need to adjust ATTRIBUTE_NONNULL

>  
>  void qemuDomainSecretChardevDestroy(virDomainChrSourceDefPtr dev)
>      ATTRIBUTE_NONNULL(1);
>  
> -int qemuDomainSecretChardevPrepare(virConnectPtr conn,
> -                                   virQEMUDriverConfigPtr cfg,
> +int qemuDomainSecretChardevPrepare(virQEMUDriverConfigPtr cfg,
>                                     qemuDomainObjPrivatePtr priv,
>                                     const char *chrAlias,
>                                     virDomainChrSourceDefPtr dev)

ATTRIBUTE_NONNULL

> @@ -863,8 +860,7 @@ int qemuDomainSecretChardevPrepare(virConnectPtr conn,
>  void qemuDomainSecretDestroy(virDomainObjPtr vm)
>      ATTRIBUTE_NONNULL(1);
>  
> -int qemuDomainSecretPrepare(virConnectPtr conn,
> -                            virQEMUDriverPtr driver,
> +int qemuDomainSecretPrepare(virQEMUDriverPtr driver,
>                              virDomainObjPtr vm)
>      ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);

ATTRIBUTE_NONNULL

>  
> @@ -1000,8 +996,7 @@ qemuDomainCheckMigrationCapabilities(virQEMUDriverPtr driver,
>                                       qemuDomainAsyncJob asyncJob);
>  
>  int
> -qemuDomainPrepareDiskSource(virConnectPtr conn,
> -                            virDomainDiskDefPtr disk,
> +qemuDomainPrepareDiskSource(virDomainDiskDefPtr disk,
>                              qemuDomainObjPrivatePtr priv,
>                              virQEMUDriverConfigPtr cfg);
>  

[...]

Reviewed-by: John Ferlan <jferlan at redhat.com>

John




More information about the libvir-list mailing list