1
linux/drivers/target
Mark Rustad e1c4038282 tcm_fc: Add abort flag for gracefully handling exchange timeout
Add abort flag and use it to terminate processing when an exchange
is timed out or is reset. The abort flag is used in place of the
transport_generic_free_cmd function call in the reset and timeout
cases, because calling that function in that context would free
memory that was in use. The aborted flag allows the lifetime to
be managed in a more normal way, while truncating the processing.

This change eliminates a source of memory corruption which
manifested in a variety of ugly ways.

(nab: Drop unused struct fc_exch *ep in ft_recv_seq)

Signed-off-by: Mark Rustad <mark.d.rustad@intel.com>
Acked-by: Kiran Patil <Kiran.patil@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-04-06 18:56:43 -07:00
..
iscsi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
loopback loopback: Fix transport_generic_allocate_tasks error handling 2012-03-17 18:07:27 -07:00
tcm_fc tcm_fc: Add abort flag for gracefully handling exchange timeout 2012-04-06 18:56:43 -07:00
Kconfig
Makefile target: remove the ->transport_split_cdb callback in se_cmd 2011-10-24 03:21:15 +00:00
target_core_alua.c target: Fix 16-bit target ports for SET TARGET PORT GROUPS emulation 2012-02-25 14:37:50 -08:00
target_core_alua.h target: pass the se_task to the CDB emulation callback 2011-11-04 08:00:17 +00:00
target_core_cdb.c target: Remove hack to make READ CAPACITY(10) lie if thin provisioning is enabled 2012-03-15 19:14:48 -07:00
target_core_configfs.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
target_core_device.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
target_core_fabric_configfs.c target: Use array_zalloc for device_list 2012-03-15 19:15:51 -07:00
target_core_fabric_lib.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_file.c target: remove useless casts 2011-12-14 11:28:07 +00:00
target_core_file.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_hba.c target: header reshuffle, part2 2011-12-14 11:26:05 +00:00
target_core_iblock.c target: increase iblock task sizes 2012-02-25 14:37:46 -08:00
target_core_iblock.h target: increase iblock task sizes 2012-02-25 14:37:46 -08:00
target_core_internal.h target: Untangle front-end and back-end meanings of max_sectors attribute 2012-02-25 14:37:49 -08:00
target_core_pr.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
target_core_pr.h target: Move core_scsi3_check_cdb_abort_and_preempt 2011-12-14 11:27:34 +00:00
target_core_pscsi.c target/pscsi: fix PHV_VIRUTAL_HOST_ID typo 2012-02-25 14:37:50 -08:00
target_core_pscsi.h target/pscsi: fix PHV_VIRUTAL_HOST_ID typo 2012-02-25 14:37:50 -08:00
target_core_rd.c target: use \n as a separator for configuration 2011-12-14 11:27:23 +00:00
target_core_rd.h target: make the ->get_cdb method optional 2011-10-24 03:21:11 +00:00
target_core_stat.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
target_core_tmr.c target: Add TMR_ABORT_TASK task management support 2012-02-25 14:37:49 -08:00
target_core_tpg.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
target_core_transport.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
target_core_ua.c target: Use array_zalloc for device_list 2012-03-15 19:15:51 -07:00
target_core_ua.h