linux/include/target
Nicholas Bellinger 6bb826121b target: Convert se_portal_group->tpg_lun_list[] to RCU hlist
This patch converts the fixed size se_portal_group->tpg_lun_list[]
to use modern RCU with hlist_head in order to support an arbitary
number of se_lun ports per target endpoint.

It includes dropping core_tpg_alloc_lun() from core_dev_add_lun(),
and calling it directly from target_fabric_make_lun() to allocate
a new se_lun.  And add a new target_fabric_port_release() configfs
item callback to invoke kfree_rcu() to release memory during
se_lun->lun_group shutdown.

Also now that se_node_acl->lun_entry_hlist is using RCU, convert
existing tpg_lun_lock to struct mutex so core_tpg_add_node_to_devs()
can perform RCU updater logic without releasing ->tpg_lun_mutex.

Also, drop core_tpg_clear_object_luns() and it's single consumer
in iscsi-target, which is duplicating TPG LUN shutdown logic and
is current code results in a NOP.

Finally, sbp-target and xen-scsiback fabric driver conversions are
included, which are required due to the non-standard way they use
->tpg_lun_hlist.

Reviewed-by: Hannes Reinecke <hare@suse.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Chris Boot <bootc@bootc.net>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2015-06-01 00:24:33 -07:00
..
iscsi target: move node ACL allocation to core code 2015-05-30 22:42:23 -07:00
configfs_macros.h doc: fix broken references 2011-09-27 18:08:04 +02:00
target_core_backend_configfs.h target: Drop left-over fabric_max_sectors attribute 2015-01-09 15:22:05 -08:00
target_core_backend.h target: Convert se_node_acl->device_list[] to RCU hlist 2015-06-01 00:23:46 -07:00
target_core_base.h target: Convert se_portal_group->tpg_lun_list[] to RCU hlist 2015-06-01 00:24:33 -07:00
target_core_configfs.h target: remove struct target_fabric_configfs_template 2015-05-30 22:42:38 -07:00
target_core_fabric_configfs.h target: Add target_show_dynamic_sessions attribute helper 2015-03-06 21:24:53 -08:00
target_core_fabric.h target: Convert se_portal_group->tpg_lun_list[] to RCU hlist 2015-06-01 00:24:33 -07:00