Ishai Rabinovitz wrote:
On Sun, Jul 02, 2006 at 01:51:51PM +0300, Erez Zilber wrote:
Hi,
I have a question about aborting tasks: when an initiator sends "abort
task" to the target, it is possible that the target will send a SCSI
response for the same task before receiving the abort task (I guess that
the target won't send a task management response for the abort task).
What should the initiator do with the SCSI response? Is the host that
issued the abort task willing to receive a SCSI response for that task?
Is it willing to receive only a task management response for the abort task?
This message was also sent to ips mailing list.
Thanks
--
In my opinion the initiator should work with the response and call the
done callback of this SCSI command.
This is the way we implement it in SRP: When we get a response for the task
we set a bit indicting that this command was done.
In the code that sends the task management and waits for response, we check
after getting the response if this flag is set. If the flag is set we call
the done callback. If it is not set, we set the result of the command to
DID_ABORT.
Did you find any ref for this in SAM3? The only thing that I was able to
find there is that a target that receives an "abort task" has to send a
task management response even if it has already sent a SCSI response for
that task.
Thanks
Erez
-
: 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