Re: [PATCH] fs: dlm: lockspace: constify kset_uevent_ops structures

From: Julia Lawall
Date: Thu Oct 27 2016 - 16:07:48 EST




On Thu, 27 Oct 2016, Bhumika Goyal wrote:

> Declare kset_uevent_ops structure as const as it is only passed as
> the second argument to the function kset_create_and_add. This
> argument is of type const struct kset_uevent_ops *, so kset_uevent_ops
> structures having this property can be declared const.
> Done using Coccinelle:
>
> @r1 disable optional_qualifier @
> identifier i;
> position p;
> @@
> static struct kset_uevent_ops i@p = {...};
>
> @ok1@
> identifier r1.i;
> position p;
> expression e1,e2;
> @@
> kset_create_and_add(e1,&i@p,e2)
>
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> static
> +const
> struct kset_uevent_ops i={...};
>
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct kset_uevent_ops i;
>
> File size before:
> text data bss dec hex filename
> 8034 528 484 9046 2356 fs/dlm/lockspace.o
>
> File size after:
> text data bss dec hex filename
> 8050 496 484 9030 2346 fs/dlm/lockspace.o
>
> Signed-off-by: Bhumika Goyal <bhumirks@xxxxxxxxx>

Acked-by: Julia Lawall <julia.lawall@xxxxxxx>

> ---
> fs/dlm/lockspace.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
> index f3e7278..2ea1b77 100644
> --- a/fs/dlm/lockspace.c
> +++ b/fs/dlm/lockspace.c
> @@ -233,7 +233,7 @@ static int dlm_uevent(struct kset *kset, struct kobject *kobj,
> return 0;
> }
>
> -static struct kset_uevent_ops dlm_uevent_ops = {
> +static const struct kset_uevent_ops dlm_uevent_ops = {
> .uevent = dlm_uevent,
> };
>
> --
> 1.9.1
>
>