android_kernel_motorola_sm6375/drivers/target
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nicholas Bellinger 4347ab5a08 target: Avoid DataIN transfers for non-GOOD SAM status
This patch modifies existing transport_complete_*() code
to avoid invoking target_core_fabric_ops->queue_data_in()
driver callbacks for I/O READs with non-GOOD SAM status.

Some initiators expect GOOD status when a DATA-IN payload
transfer is involved, so to be safe go ahead and always
invoke target_core_fabric_ops->queue_status() to generate
fabric responses instead.

Note this is a prerequisite for IBLOCK supporting retriable
status, so SAM_STAT_BUSY + SAM_STAT_TASK_SET_FULL always
generates fabric driver responses instead of initiating
DataIN payload transfer when non-GOOD status is present

Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Sagi Grimberg <sagig@mellanox.com>
Cc: Andy Grover <agrover@redhat.com>
Cc: Mike Christie <mchristi@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2016-03-10 22:36:12 -08:00
..
iscsi Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2016-01-20 17:20:53 -08:00
loopback target: Convert demo-mode only drivers to target_alloc_session 2016-03-10 21:44:28 -08:00
sbp sbp-target: Convert to TARGET_SCF_ACK_KREF I/O krefs 2016-03-10 21:48:12 -08:00
tcm_fc tcm_fc: Convert to TARGET_SCF_ACK_KREF I/O + TMR krefs 2016-03-10 21:48:23 -08:00
Kconfig
Makefile
target_core_alua.c
target_core_alua.h
target_core_configfs.c target: Fix incorrect unmap_zeroes_data_store return 2016-02-10 20:34:56 -08:00
target_core_device.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_fabric_configfs.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_fabric_lib.c
target_core_file.c target: Fix WRITE_SAME/DISCARD conversion to linux 512b sectors 2016-01-29 19:29:34 -08:00
target_core_file.h
target_core_hba.c
target_core_iblock.c target/iblock: pass WRITE_SAME to device if possible 2016-03-10 21:48:53 -08:00
target_core_iblock.h
target_core_internal.h target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_pr.c
target_core_pr.h
target_core_pscsi.c
target_core_pscsi.h
target_core_rd.c
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 2016-01-20 17:20:53 -08:00
target_core_spc.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_stat.c
target_core_tmr.c target: Fix remote-port TMR ABORT + se_cmd fabric stop 2016-02-05 15:40:34 -08:00
target_core_tpg.c target: Remove enum transport_lunflags_table 2016-03-10 21:48:55 -08:00
target_core_transport.c target: Avoid DataIN transfers for non-GOOD SAM status 2016-03-10 22:36:12 -08:00
target_core_ua.c
target_core_ua.h
target_core_user.c target/user: Report capability of handling out-of-order completions to userspace 2016-03-10 21:49:09 -08:00
target_core_xcopy.c
target_core_xcopy.h