target: add back error handling in transport_complete_task
The commit target: use a workqueue for I/O completions accidentally removed setting t_tasks_failed in transport_complete_task. Add it back in a slightly cleaner way; now it is set for every failed task instead of special casing the last one completing by using the success argument directly for it. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nicholas A. Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
ed327ed337
commit
2235007c4d
@ -733,6 +733,10 @@ void transport_complete_task(struct se_task *task, int success)
|
||||
complete(&task->task_stop_comp);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!success)
|
||||
cmd->t_tasks_failed = 1;
|
||||
|
||||
/*
|
||||
* Decrement the outstanding t_task_cdbs_left count. The last
|
||||
* struct se_task from struct se_cmd will complete itself into the
|
||||
@ -743,7 +747,7 @@ void transport_complete_task(struct se_task *task, int success)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!success || cmd->t_tasks_failed) {
|
||||
if (cmd->t_tasks_failed) {
|
||||
if (!task->task_error_status) {
|
||||
task->task_error_status =
|
||||
PYX_TRANSPORT_UNKNOWN_SAM_OPCODE;
|
||||
|
Loading…
Reference in New Issue
Block a user