linux/drivers/target/iscsi
Nicholas Bellinger d14921d6ad target: Convert ->transport_wait_for_tasks usage to transport_generic_free_cmd
This patch converts se_cmd->transport_wait_for_tasks(se_cmd, 1) usage to use
transport_generic_free_cmd() directly in target-core and iscsi-target fabric
usage.  The includes:

*) Removal of the optional transport_generic_free_cmd() call from within
   transport_generic_wait_for_tasks()
*) Usage of existing SCF_SUPPORTED_SAM_OPCODE to determine when
   transport_generic_wait_for_tasks() processing may occur instead of
   checking se_cmd->transport_wait_for_tasks()
*) Move transport_generic_wait_for_tasks() call ahead of core_dec_lacl_count()
   and transport_lun_remove_cmd() in transport_generic_free_cmd() to follow
   existing logic for iscsi-target w/ se_cmd->transport_wait_for_tasks(se_cmd, 1)
*) Removal of se_cmd->transport_wait_for_tasks() function pointer
*) Rename transport_generic_wait_for_tasks() -> transport_wait_for_tasks(), and
   add docbook comment.
*) Add EXPORT_SYMBOL for transport_wait_for_tasks()

For the case in iscsi_target_erl2.c:iscsit_prepare_cmds_for_realligance()
where se_cmd->transport_wait_for_tasks(se_cmd, 0) is called, this patch
adds a direct call to transport_wait_for_tasks().

(hch: Fix transport_generic_free_cmd() usage in iscsit_release_commands_from_conn)
(nab: Add patch: Ensure that TMRs hit wait_for_tasks logic during release)

Reported-by: Christoph Hellwig <hch@lst.de>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2011-10-24 03:20:54 +00:00
..
Kconfig target: iscsi_target depends on NET 2011-07-28 20:16:18 +00:00
Makefile
iscsi_target.c target: Convert ->transport_wait_for_tasks usage to transport_generic_free_cmd 2011-10-24 03:20:54 +00:00
iscsi_target.h
iscsi_target_auth.c iscsi-target: use native hex2bin for chap_string_to_hex 2011-10-24 03:20:48 +00:00
iscsi_target_auth.h
iscsi_target_configfs.c target: Use ERR_CAST inlined function 2011-08-22 19:26:15 +00:00
iscsi_target_configfs.h
iscsi_target_core.h
iscsi_target_datain_values.c
iscsi_target_datain_values.h
iscsi_target_device.c
iscsi_target_device.h
iscsi_target_erl0.c
iscsi_target_erl0.h
iscsi_target_erl1.c iscsi-target: forever loop bug in iscsit_attach_ooo_cmdsn() 2011-08-22 19:26:19 +00:00
iscsi_target_erl1.h
iscsi_target_erl2.c target: Convert ->transport_wait_for_tasks usage to transport_generic_free_cmd 2011-10-24 03:20:54 +00:00
iscsi_target_erl2.h
iscsi_target_login.c iscsi-target: Implement iSCSI target IPv6 address printing. 2011-08-22 19:26:29 +00:00
iscsi_target_login.h
iscsi_target_nego.c
iscsi_target_nego.h
iscsi_target_nodeattrib.c
iscsi_target_nodeattrib.h
iscsi_target_parameters.c iscsi-target: Disable markers + remove dangerous local scope array usage 2011-09-16 19:37:18 +00:00
iscsi_target_parameters.h
iscsi_target_seq_pdu_list.c
iscsi_target_seq_pdu_list.h
iscsi_target_stat.c
iscsi_target_stat.h
iscsi_target_tmr.c iscsi-target: always call transport_handle_cdb_direct 2011-10-24 03:20:26 +00:00
iscsi_target_tmr.h
iscsi_target_tpg.c
iscsi_target_tpg.h
iscsi_target_tq.c
iscsi_target_tq.h
iscsi_target_util.c target: Have core_tmr_alloc_req() take an explicit GFP_xxx flag 2011-10-24 03:20:53 +00:00
iscsi_target_util.h