Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2235007c authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nicholas Bellinger
Browse files

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: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNicholas A. Bellinger <nab@linux-iscsi.org>
parent ed327ed3
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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;