tcm_fc: Convert call_rcu() to kfree_rcu(), drop ft_tport_rcu_free()

The call_rcu() in ft_tport_delete() invokes ft_tport_rcu_free(),
which just does a kfree().  So convert the call_rcu() to kfree_rcu(),
allowing ft_tport_rcu_free() to be eliminated.

Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Jesper Juhl <jj@chaosbits.net>
Cc: linux-scsi@vger.kernel.org
Cc: target-devel@vger.kernel.org
This commit is contained in:
Paul E. McKenney 2012-01-06 17:02:13 -08:00 committed by Paul E. McKenney
parent bc399d6e6e
commit a6c76da8f8

View File

@ -85,16 +85,6 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport)
return tport; return tport;
} }
/*
* Free tport via RCU.
*/
static void ft_tport_rcu_free(struct rcu_head *rcu)
{
struct ft_tport *tport = container_of(rcu, struct ft_tport, rcu);
kfree(tport);
}
/* /*
* Delete a target local port. * Delete a target local port.
* Caller holds ft_lport_lock. * Caller holds ft_lport_lock.
@ -114,7 +104,7 @@ static void ft_tport_delete(struct ft_tport *tport)
tpg->tport = NULL; tpg->tport = NULL;
tport->tpg = NULL; tport->tpg = NULL;
} }
call_rcu(&tport->rcu, ft_tport_rcu_free); kfree_rcu(tport, rcu);
} }
/* /*