aboutsummaryrefslogtreecommitdiffstats
path: root/net/switchdev/switchdev.c
diff options
context:
space:
mode:
authorNicholas Bellinger <[email protected]>2016-03-05 06:30:52 +0000
committerNicholas Bellinger <[email protected]>2016-03-11 06:36:12 +0000
commit4347ab5a086efcba449e7a6f0a14d1474060006b (patch)
tree431fe7029258a79e4f3c73df8ecf0ece784770a6 /net/switchdev/switchdev.c
parenttarget/user: Report capability of handling out-of-order completions to userspace (diff)
downloadkernel-4347ab5a086efcba449e7a6f0a14d1474060006b.tar.gz
kernel-4347ab5a086efcba449e7a6f0a14d1474060006b.zip
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 <[email protected]> Cc: Hannes Reinecke <[email protected]> Cc: Sagi Grimberg <[email protected]> Cc: Andy Grover <[email protected]> Cc: Mike Christie <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions