[PATCH 0/3] target: Add se_node_acl->acl_kref usage for explict NodeACL shutdown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Hi folks,

This series for lio-core.git is to address the race between target-core
configfs process context during explict NodeACL removal in
core_tpg_del_initiator_node_acl(), and active fabric session shutdown
associated with individual se_node_acl->acl_group memory.

It changes target-core session register/deregister to use ->acl_kref, and
makes the final target_put_nacl() -> target_complete_nacl() callback to
complete(&nacl->acl_free_comp) -> wakeup the sleeping configfs process context
in core_tpg_del_initiator_node_acl() after the last session shutdown callback
in transport_deregister_session() has completed.

So far this has been tested with explict NodeACL removal w/ active fabric
sessions for iscsi_target, tcm_fc(FCoE) and tcm_qla2xxx.  A squashed version
of this series will be headed for target-pending/for-next shortly, so please
let me know if you have concerns here.

Thanks,

Nicholas Bellinger (3):
  target: Allow transport_deregister_session() w/ NULL se_node_acl
  target: Add se_node_acl->acl_kref for ->acl_free_comp usage
  target: Convert se_node_acl->acl_group removal to use ->acl_kref

 drivers/target/target_core_tpg.c       |   33 ++++++++++++++++++++----------
 drivers/target/target_core_transport.c |   34 +++++++++++++++++++++++--------
 include/target/target_core_base.h      |    2 +
 include/target/target_core_fabric.h    |    1 +
 4 files changed, 50 insertions(+), 20 deletions(-)

-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux