On 03/03/2014 06:44, Mike Christie wrote:
The xmit_task callout does handle failures like EINVAL. If the above map
calls fail then you would get infinite retries. You would currently want
to do the mapping in the init_task callout instead.
If it makes it easier on the driver implementation then it is ok to
modify the xmit_task callers so that they handle multiple error codes
for drivers like iser that have the xmit_task callout called from
iscsi_queuecommand.
Mike,
After looking on the code with Sagi, it seems to us that the correct
way to go here, would be to enhance in iscsi_queuecommand the processing
of the result returned by session->tt->xmit_task(task) to behave in a
similar manner to how the return value of iscsi_prep_scsi_cmd_pdu() is
treated. E.g for errors such as ENOMEM and EGAIN take the "reject" flow
which would cause the SCSI midlayer to retry the command and for other
return values go to the "fault" flow which will cause the ML to abort
the command.
Or.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html