drbd: Drop unnecessary static
authorJulia Lawall <Julia.Lawall@lip6.fr>
Tue, 27 Jun 2017 23:56:50 +0000 (17:56 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 27 Jun 2017 23:56:50 +0000 (17:56 -0600)
commite9d5d4a0c13f47e331e39a4c66a9b3da701b280b
tree5d17021404dd27304a9da47c875cbfecbf312c28
parent13c931bd9a82d1a88e21f5904c5cdb0261b9d53c
drbd: Drop unnecessary static

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@p;
...
x = <+...x...+>

@@
identifier x;
expression e;
type T;
position p != bad.p;
@@

-static
 T x@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@lip6.fr>
Signed-off-by: Roland Kammerer <roland.kammerer@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/drbd/drbd_nl.c