tmp_suning_uos_patched/drivers/target
Nicholas Bellinger 9574a497df target: Fix quiese during transport_write_pending_qf endless loop
This patch fixes a potential end-less loop during QUEUE_FULL,
where cmd->se_tfo->write_pending() callback fails repeatedly
but __transport_wait_for_tasks() has already been invoked to
quiese the outstanding se_cmd descriptor.

To address this bug, this patch adds a CMD_T_STOP|CMD_T_ABORTED
check within transport_write_pending_qf() and invokes the
existing se_cmd->t_transport_stop_comp to signal quiese
completion back to __transport_wait_for_tasks().

Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
Cc: Michael Cyr <mikecyr@linux.vnet.ibm.com>
Cc: Potnuri Bharat Teja <bharat@chelsio.com>
Cc: Sagi Grimberg <sagi@grimberg.me>
Cc: stable@vger.kernel.org # 4.11+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2017-11-07 19:45:28 -08:00
..
iscsi iSCSI-target: Use common error handling code in iscsi_decode_text_input() 2017-11-04 15:17:49 -07:00
loopback target/tcm_loop: Make TMF processing slightly faster 2017-07-06 23:11:25 -07:00
sbp
tcm_fc
Kconfig
Makefile
target_core_alua.c target: fix ALUA state file path truncation 2017-11-04 15:00:30 -07:00
target_core_alua.h target: fix ALUA state file path truncation 2017-11-04 15:00:30 -07:00
target_core_configfs.c target: fix match_token option in target_core_configfs.c 2017-11-04 14:45:23 -07:00
target_core_device.c target: Fix cmd size for PR-OUT in passthrough_parse_cdb 2017-07-09 20:58:49 -07:00
target_core_fabric_configfs.c target: Move a declaration of a global variable into a header file 2017-11-04 15:15:30 -07:00
target_core_fabric_lib.c target: Use {get,put}_unaligned_be*() instead of open coding these functions 2017-07-06 22:57:59 -07:00
target_core_file.c target/file: Do not return error for UNMAP if length is zero 2017-11-04 14:45:16 -07:00
target_core_file.h
target_core_hba.c
target_core_iblock.c block: replace bi_bdev with a gendisk pointer and partitions index 2017-08-23 12:49:55 -06:00
target_core_iblock.h target/iblock: convert iblock_req.pending from atomic_t to refcount_t 2017-05-01 22:20:43 -07:00
target_core_internal.h target: Move a declaration of a global variable into a header file 2017-11-04 15:15:30 -07:00
target_core_pr.c target: Suppress gcc 7 fallthrough warnings 2017-11-04 15:15:35 -07:00
target_core_pr.h target/pr: update PR out action code table 2017-05-01 22:20:44 -07:00
target_core_pscsi.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-07-13 14:27:32 -07:00
target_core_pscsi.h pscsi: finish cmd processing from pscsi_req_done 2017-07-06 23:11:46 -07:00
target_core_rd.c target: break up free_device callback 2017-07-06 23:11:37 -07:00
target_core_rd.h
target_core_sbc.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2017-07-13 14:27:32 -07:00
target_core_spc.c target: Fix cmd size for PR-OUT in passthrough_parse_cdb 2017-07-09 20:58:49 -07:00
target_core_stat.c
target_core_tmr.c target: fix null pointer regression in core_tmr_drain_tmr_list 2017-11-04 14:45:20 -07:00
target_core_tpg.c target: Fix node_acl demo-mode + uncached dynamic shutdown regression 2017-08-09 20:55:19 -07:00
target_core_transport.c target: Fix quiese during transport_write_pending_qf endless loop 2017-11-07 19:45:28 -08:00
target_core_ua.c
target_core_ua.h
target_core_user.c tcmu: fix double se_cmd completion 2017-11-04 15:01:55 -07:00
target_core_xcopy.c xcopy: loop over devices using idr helper 2017-07-06 23:11:40 -07:00
target_core_xcopy.h