linux/drivers/target
Nicholas Bellinger 6e5459353d iscsi-target: Enforce individual network portal export once per TargetName
This patch enforces individual network portal export on a once per TargetName
basis, thus preventing a network portal from being exported multiple times
across multiple TargetPortalGroups in a single TargetName instance.

This is done in iscsit_tpg_check_network_portal() by walking tiqn->tiqn_tpg_list
and tpg->tpg_gnp_list using iscsit_check_np_match() looking for an existing
network portal mapping from iscsit_tpg_add_network_portal() context, but only
when no pre-existing tpg_np_parent pointer is present.

Reported-by: Andy Grover <agrover@redhat.com>
Tested-by: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-02-19 17:58:12 -08:00
..
iscsi iscsi-target: Enforce individual network portal export once per TargetName 2013-02-19 17:58:12 -08:00
loopback target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
sbp sbp-target: fix error path in sbp_make_tpg() 2012-12-12 21:17:25 -08:00
tcm_fc tcm_fc: Do not report target role when target is not defined 2013-01-10 20:08:58 -08:00
Kconfig sbp-target: Initial merge of firewire/ieee-1394 target mode support 2012-05-09 15:25:17 -07:00
Makefile target: move code for CDB emulation 2012-07-16 17:27:45 -07:00
target_core_alua.c target: Use TCM_NO_SENSE for initialisation 2013-01-10 20:07:10 -08:00
target_core_alua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_configfs.c target: Add device attribute to expose config_item_name for INQUIRY model 2013-02-13 11:27:58 -08:00
target_core_device.c target: Fix lookup of dynamic NodeACLs during cached demo-mode operation 2013-02-18 18:47:20 -08:00
target_core_fabric_configfs.c target: Add missing mapped_lun bounds checking during make_mappedlun setup 2013-02-18 18:47:28 -08:00
target_core_fabric_lib.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_file.c target/file: merge fd_do_readv() and fd_do_writev() 2012-12-05 13:09:45 -08:00
target_core_file.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_hba.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_iblock.c target: Fix error checking for UNMAP commands 2013-02-13 12:16:05 -08:00
target_core_iblock.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_internal.h target: Fix lookup of dynamic NodeACLs during cached demo-mode operation 2013-02-18 18:47:20 -08:00
target_core_pr.c target: Use TCM_NO_SENSE for initialisation 2013-01-10 20:07:10 -08:00
target_core_pr.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00
target_core_pscsi.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_pscsi.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_rd.c target_core_rd: break out unterminated loop during copy 2013-02-13 11:54:29 -08:00
target_core_rd.h target: kill struct se_subsystem_dev 2012-11-06 20:55:43 -08:00
target_core_sbc.c target: Fix sense data for out-of-bounds IO operations 2013-02-13 11:54:50 -08:00
target_core_spc.c target: Fix parameter list length checking in MODE SELECT 2013-02-13 12:16:11 -08:00
target_core_stat.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_tmr.c target: Remove useless if statement 2013-02-13 11:27:22 -08:00
target_core_tpg.c target: Fix lookup of dynamic NodeACLs during cached demo-mode operation 2013-02-18 18:47:20 -08:00
target_core_transport.c target: Fix error checking for UNMAP commands 2013-02-13 12:16:05 -08:00
target_core_ua.c target: Update copyright information to 2012 2012-11-27 22:47:02 -08:00
target_core_ua.h target: pass sense_reason as a return value 2012-11-06 20:55:46 -08:00