diff options
| author | Bart Van Assche <[email protected]> | 2017-02-14 16:25:45 -0800 |
|---|---|---|
| committer | Nicholas Bellinger <[email protected]> | 2017-02-20 13:28:09 -0800 |
| commit | e3b88ee95b4e4bf3e9729a4695d695b9c7c296c8 (patch) | |
| tree | 84152cbdc1904bf6873ba53c565028b2cafff84f | |
| parent | 762b6f00a995863afa274d6b5ffa3880dac1714b (diff) | |
target: Fix handling of aborted failed commands
If a target driver (e.g. tcm_qla2xxx) calls
transport_generic_request_failure() to report that receiving data
has failed and that SCSI command has already been aborted by the
initiator, ensure that the SCSI status ABORTED is sent back to the
initiator instead of the sense code provided by the target driver.
Signed-off-by: Bart Van Assche <[email protected]>
Cc: Hannes Reinecke <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: David Disseldorp <[email protected]>
Signed-off-by: Nicholas Bellinger <[email protected]>
| -rw-r--r-- | drivers/target/target_core_transport.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index 22190003534d..efb9e6f38201 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c @@ -1647,6 +1647,9 @@ void transport_generic_request_failure(struct se_cmd *cmd, { int ret = 0, post_ret = 0; + if (transport_check_aborted_status(cmd, 1)) + return; + pr_debug("-----[ Storage Engine Exception for cmd: %p ITT: 0x%08llx" " CDB: 0x%02x\n", cmd, cmd->tag, cmd->t_task_cdb[0]); pr_debug("-----[ i_state: %d t_state: %d sense_reason: %d\n", |