[Drbd-dev] [PATCH 3/9] drbd: Drop unnecessary static

Roland Kammerer roland.kammerer at linbit.com
Fri May 5 09:19:45 CEST 2017


On Thu, May 04, 2017 at 10:10:48PM +0200, Julia Lawall wrote:
> Drop static on a local variable, when the variable is initialized before
> any use, on every possible execution path through the function.  The static
> has no benefit, and dropping it reduces the code size.
> 
> The semantic patch that fixes this problem is as follows:
> (http://coccinelle.lip6.fr/)
> 
> // <smpl>
> @bad exists@
> position p;
> identifier x;
> type T;
> @@
> 
> static T x at p;
> ...
> x = <+...x...+>
> 
> @@
> identifier x;
> expression e;
> type T;
> position p != bad.p;
> @@
> 
> -static
>  T x at p;
>  ... when != x
>      when strict
> ?x = e;
> // </smpl>
> 
> The change in code size is indicates by the following output from the size
> command.
> 
> before:
>    text    data     bss     dec     hex filename
>   67299    2291    1056   70646   113f6 drivers/block/drbd/drbd_nl.o
> 
> after:
>    text    data     bss     dec     hex filename
>   67283    2291    1056   70630   113e6 drivers/block/drbd/drbd_nl.o
> 
> Signed-off-by: Julia Lawall <Julia.Lawall at lip6.fr>
> 
> ---
>  drivers/block/drbd/drbd_nl.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
> index 02255a0..ad0fcb4 100644
> --- a/drivers/block/drbd/drbd_nl.c
> +++ b/drivers/block/drbd/drbd_nl.c
> @@ -2294,7 +2294,7 @@ static bool conn_ov_running(struct drbd_connection *connection)
>  static enum drbd_ret_code
>  check_net_options(struct drbd_connection *connection, struct net_conf *new_net_conf)
>  {
> -	static enum drbd_ret_code rv;
> +	enum drbd_ret_code rv;
>  	struct drbd_peer_device *peer_device;
>  	int i;

Yes, that already got dropped for drbd9 and is obviously correct for
in-tree drbd8.

Signed-off-by: Roland Kammerer <roland.kammerer at linbit.com>

Regards, rck


More information about the drbd-dev mailing list