]> git.karo-electronics.de Git - mv-sheeva.git/commit
target: Convert se_node_acl->acl_group removal to use ->acl_kref
authorNicholas Bellinger <nab@linux-iscsi.org>
Sat, 10 Mar 2012 22:36:21 +0000 (14:36 -0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 10 Mar 2012 22:42:19 +0000 (14:42 -0800)
commit337c060701fb3d27d9945bf7af7ba194ae2153a8
tree7b2d50a7cc4b291a876e95c60388cf57a52d912a
parentafb999ffc48f5e7ec18e6f8f9e68aa3d0085862d
target: Convert se_node_acl->acl_group removal to use ->acl_kref

This patch converts core_tpg_del_initiator_node_acl() shutdown from configfs
context to use se_node_acl->acl_kref and ->acl_free_comp in order to wait for
outstanding fabric callbacks to complete via transport_deregister_session()
callbacks before waking ->acl_free_comp from the last ->acl_kref put.

It also changes core_tpg_del_initiator_node_acl() to setup a local sess_list
with target_get_session() + acl->acl_stop = 1 for active sessions that will
be shutdown, and changes transport_deregister_session_configfs() to check
for ->acl_stop usage.

Cc: Roland Dreier <roland@purestorage.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Joern Engel <joern@logfs.org>
Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_tpg.c
drivers/target/target_core_transport.c
include/target/target_core_base.h