diff options
| author | Nicholas Bellinger <[email protected]> | 2015-05-10 19:31:10 -0700 |
|---|---|---|
| committer | Nicholas Bellinger <[email protected]> | 2015-06-01 00:24:33 -0700 |
| commit | 6bb826121be244a5a3c8bd8b7d45c47df18810b7 (patch) | |
| tree | 7a75624e4801567a4133bc5b373ed67dd1db1cbb /scripts/gdb/linux/device.py | |
| parent | 9fcb57f39c0cde70bcccdc1d998d3060297e911c (diff) | |
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 <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Sagi Grimberg <[email protected]>
Cc: Paul E. McKenney <[email protected]>
Cc: Chris Boot <[email protected]>
Signed-off-by: Nicholas Bellinger <[email protected]>
Diffstat (limited to 'scripts/gdb/linux/device.py')
0 files changed, 0 insertions, 0 deletions