Re: [PATCH 09/14] secret: Split apart NumOfSecrets and GetUUIDs callback function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 24, 2017 at 02:00:18PM -0400, John Ferlan wrote:
> Rather than overloading one function - split apart the logic to have
> separate interfaces and local/private structures to manage the data
> for which the helper is collecting.
> 
> Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx>
> ---
>  src/conf/virsecretobj.c | 98 +++++++++++++++++++++++++++++++------------------
>  src/conf/virsecretobj.h |  6 +--
>  2 files changed, 65 insertions(+), 39 deletions(-)
> 
> diff --git a/src/conf/virsecretobj.c b/src/conf/virsecretobj.c
> index c410a6b..3717552 100644
> --- a/src/conf/virsecretobj.c
> +++ b/src/conf/virsecretobj.c
> @@ -415,9 +415,54 @@ virSecretObjListAdd(virSecretObjListPtr secrets,
>  }
>  
>  
> -struct virSecretObjListGetHelperData {
> +struct secretCountData {

This doesn't follow our naming rules, all struct should be prefixed with *vir*.

>      virConnectPtr conn;
> -    virSecretObjListACLFilter filter;
> +    virSecretObjListACLFilter aclfilter;
> +    int count;
> +};
> +
> +static int
> +virSecretObjListNumOfSecretsCallback(void *payload,
> +                                     const void *name ATTRIBUTE_UNUSED,
> +                                     void *opaque)
> +{
> +    struct secretCountData *data = opaque;
> +    virSecretObjPtr obj = payload;
> +    virSecretDefPtr def;
> +
> +    virObjectLock(obj);
> +    def = obj->def;
> +
> +    if (data->aclfilter && !data->aclfilter(data->conn, def))
> +        goto cleanup;

This follows previous patch, in this case having separate variable for
virSecretDefPtr doesn't give us any benefit, just a noise in the code.

> +
> +    data->count++;
> +
> + cleanup:
> +    virObjectUnlock(obj);
> +    return 0;
> +}
> +
> +
> +int
> +virSecretObjListNumOfSecrets(virSecretObjListPtr secrets,
> +                             virSecretObjListACLFilter aclfilter,
> +                             virConnectPtr conn)
> +{
> +    struct secretCountData data = {
> +        .conn = conn, .aclfilter = aclfilter, .count = 0 };
> +
> +    virObjectLock(secrets);
> +    virHashForEach(secrets->objs, virSecretObjListNumOfSecretsCallback, &data);
> +    virObjectUnlock(secrets);
> +
> +    return data.count;
> +}

Unnecessary movement of function.

> +
> +
> +struct secretListData {

This should be virSecretListData.

> +    virConnectPtr conn;
> +    virSecretObjListACLFilter aclfilter;
>      int nuuids;
>      char **uuids;
>      int maxuuids;

Pavel

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux