[libvirt] [PATCH 04/13] qemu: Introduce qemuDomainSecretMigrate{Prepare|Destroy}
Jiri Denemark
jdenemar at redhat.com
Tue Feb 21 11:56:18 UTC 2017
On Mon, Feb 20, 2017 at 15:14:21 -0500, John Ferlan wrote:
>
>
> On 02/20/2017 10:43 AM, Jiri Denemark wrote:
> > On Fri, Feb 17, 2017 at 14:39:21 -0500, John Ferlan wrote:
> >> Introduce API's to Prepare/Destroy a qemuDomainSecretInfoPtr to be
> >> used with a migrate or nbd TLS object
> >>
> >> Signed-off-by: John Ferlan <jferlan at redhat.com>
> >> ---
> >> src/qemu/qemu_domain.c | 73 +++++++++++++++++++++++++++++++++++++++++
> >> src/qemu/qemu_domain.h | 88 +++++++++++++++++++++++++++++---------------------
> >> 2 files changed, 124 insertions(+), 37 deletions(-)
> >>
> >> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> >> index be44843..dd3cfd5 100644
> >> --- a/src/qemu/qemu_domain.c
> >> +++ b/src/qemu/qemu_domain.c
> >> @@ -1370,6 +1370,77 @@ qemuDomainSecretChardevPrepare(virConnectPtr conn,
> >> }
> >>
> >>
> >> +/* qemuDomainSecretMigrateDestroy:
> >> + * @migSecinfo: Pointer to the secinfo from the incoming def
> >> + *
> >> + * Clear and destroy memory associated with the secret
> >> + */
> >> +void
> >> +qemuDomainSecretMigrateDestroy(qemuDomainSecretInfoPtr *migSecinfo)
> >> +{
> >> + if (!*migSecinfo)
> >> + return;
> >> +
> >> + qemuDomainSecretInfoFree(migSecinfo);
> >> +}
> >
> > This is a useless wrapper, please drop it.
> >
>
> Sure - it's like an automatic reaction - have allocation need free
> function... Will use qemuDomainSecretInfoFree instead...
It would make sense if migSecinfo was a new structure, but in this case
we would just end up with two functions usable for freeing a single
structure. Which is just asking for an inconsistent usage. And that's
what happened even in your series; sometimes qemuDomainSecretInfoFree is
used to free migSecinfo and sometime it's the new wrapper you call to do
the job.
> >> +int
> >> +qemuDomainSecretMigratePrepare(virConnectPtr conn,
> >> + qemuDomainObjPrivatePtr priv,
> >> + const char *srcAlias,
> >> + const char *secretUUID)
> >
> > Almost all lines in this functions were just copy-pasted from
> > qemuDomainSecretChardevPrepare. Could you merge the two? Ideally you can
> > just make it a function which lookups the secinfo and you can do the
> > rest in the caller.
>
> Sure. no problem... I'll create:
>
> static qemuDomainSecretInfoPtr
> qemuDomainSecretTLSObjectPrepare(virConnectPtr conn,
> qemuDomainObjPrivatePtr priv,
> const char *srcAlias,
> const char *secretUUID)
Great, but since the structure it creates is qemuDomainSecretInfo, can
you just call it qemuDomainSecretInfoNew or something similar to this?
Jirka
More information about the libvir-list
mailing list