target: remove the se_task task_error_status field
Christoph Hellwig [Wed, 23 Nov 2011 11:54:15 +0000 (06:54 -0500)]
We only reach transport_complete_task once per task, so the test and set on
task_error_status is never going to have an effect.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

drivers/target/target_core_transport.c
include/target/target_core_base.h

index e13fafa..ae112ac 100644 (file)
@@ -738,13 +738,7 @@ void transport_complete_task(struct se_task *task, int success)
        }
 
        if (cmd->t_tasks_failed) {
-               if (!task->task_error_status) {
-                       task->task_error_status =
-                               TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
-                       cmd->scsi_sense_reason =
-                               TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
-               }
-
+               cmd->scsi_sense_reason = TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;
                INIT_WORK(&cmd->work, target_complete_failure_work);
        } else {
                atomic_set(&cmd->t_transport_complete, 1);
index 7f3acdd..e2473e6 100644 (file)
@@ -490,7 +490,6 @@ struct se_task {
        u32                     task_sg_nents;
        u16                     task_flags;
        u8                      task_scsi_status;
-       int                     task_error_status;
        enum dma_data_direction task_data_direction;
        atomic_t                task_state_active;
        struct list_head        t_list;