tcm_fc: Replace rcu_assign_pointer() with RCU_INIT_POINTER()
authorAndreea-Cristina Bernat <bernat.ada@gmail.com>
Mon, 18 Aug 2014 12:05:37 +0000 (15:05 +0300)
committerNicholas Bellinger <nab@linux-iscsi.org>
Mon, 15 Sep 2014 21:27:33 +0000 (14:27 -0700)
The use of "rcu_assign_pointer()" is NULLing out the pointer.
According to RCU_INIT_POINTER()'s block comment:
"1.   This use of RCU_INIT_POINTER() is NULLing out the pointer"
it is better to use it instead of rcu_assign_pointer() because it has a
smaller overhead.

The following Coccinelle semantic patch was used:
@@
@@

- rcu_assign_pointer
+ RCU_INIT_POINTER
  (..., NULL)

Signed-off-by: Andreea-Cristina Bernat <bernat.ada@gmail.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/tcm_fc/tfc_sess.c

index 21ce508..ccee7e3 100644 (file)
@@ -98,7 +98,7 @@ static void ft_tport_delete(struct ft_tport *tport)
        ft_sess_delete_all(tport);
        lport = tport->lport;
        BUG_ON(tport != lport->prov[FC_TYPE_FCP]);
-       rcu_assign_pointer(lport->prov[FC_TYPE_FCP], NULL);
+       RCU_INIT_POINTER(lport->prov[FC_TYPE_FCP], NULL);
 
        tpg = tport->tpg;
        if (tpg) {