mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
scsi: tcm_fc: use target_remove_session
This converts tcm_fc to use target_remove_session tcm_fc was calling transport_deregister_session_configfs then calling transport_deregister_session when commands have completed. It should be ok for it to call transport_deregister_session_configfs later via target_remove_session because transport_deregister_session_configfs only prevents access from configfs via tpg removal and its call to the close_session callback for that driver, and this is already protected by the ft_lport_lock and its port lookup handling. Signed-off-by: Mike Christie <[email protected]> Reviewed-by: Bart Van Assche <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Cc: Johannes Thumshirn <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
This commit is contained in:
1 parent
b287e3517e
commit
60daca1006
1 file changed
+1
-2
@@ -287,7 +287,6 @@ static struct ft_sess *ft_sess_delete(struct ft_tport *tport, u32 port_id)
|
||||
|
||||
static void ft_close_sess(struct ft_sess *sess)
|
||||
{
|
||||
transport_deregister_session_configfs(sess->se_sess);
|
||||
target_sess_cmd_list_set_waiting(sess->se_sess);
|
||||
target_wait_for_sess_cmds(sess->se_sess);
|
||||
ft_sess_put(sess);
|
||||
@@ -448,7 +447,7 @@ static void ft_sess_free(struct kref *kref)
|
||||
{
|
||||
struct ft_sess *sess = container_of(kref, struct ft_sess, kref);
|
||||
|
||||
transport_deregister_session(sess->se_sess);
|
||||
target_remove_session(sess->se_sess);
|
||||
kfree_rcu(sess, rcu);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user