Re: current multi-task abort model in RFC 3720

William Studenmund <[email protected]>
Newsgroups gmane.ietf.ips
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Feb 21, 2006, at 8:05 PM, T.Krishnanand wrote:

> On 2/22/06, William Studenmund <[email protected]> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> On Feb 18, 2006, at 10:16 PM, T.Krishnanand wrote:
>>
>>
>> I'm not fully clear what the issue is, but I think that you are
>> describing an initiator that does not understand TAS=1. With TAS=1,
>> tasks don't silently disappear. So you will get abort status on all
>> of them, regardless of which initiator triggered the abort.
>>
>
> The issue that I was trying to raise was:
>
> TAS=1 implies tasks aborted by actions on OTHER nexus cause "TASK
> ABORTED" scsi status. But abort of tasks on the nexus on which TM cmd
> came are NOT notified to the initiator, only TM response is given.

True.

> So I was trying to confirm that iSCSI target MUST ensure that ALL
> "task aborted" scsi statuses are sent to TCP for transmission to
> init-B and only AFTER THAT it can send the lun-reset task mgmt
> response to init-B.
>
> So that init-B will ALWAYS first see all the "task aborted" scsi
> statuses (due to lun-reset from init-A) and THEN it'll see the
> lun-reset response from it's own lun-reset task mgmt cmd.
>
> IMHO this is important since if init-B see its own lun-reset response
> first the followed by the "task aborted" scsi statuses......then isn't
> it a violation of the SCSI spec which mandates...
>
> "once task mgmt cmd response is recvd...NO responses from
> chronologically older tasks can be recvd by an initiator."
>
> Hope this clarifies the "confirmation of target behaviour" I'm  
> seeking.

The way you have it phrased, I don't see why you had to ask. As  
outlined above, this is not an iSCSI issue, but a SCSI/SAM issue.

The place where things get difficult is in how you define "received."  
All you are requiring above is that the responses have been posted to  
the TCP stack. That's what most targets do AFAIK.

The problem is that in an MC/S environment, that doesn't mean that  
the initiator has gotten the status. Consider two connections, one of  
which has a task (or tasks) on it and the other which is used to send  
the TMR. Further let the first connection be suffering connectivity  
issues (say the intermediate switch and its friends are inefficiently  
updating a spanning-tree, so it's off line for a few tens of  
seconds). So the target sends the aborted response for the tasks  
aborted due to Intr-A, however they are stuck waiting for the switch.  
Now the TMF comes along, and completes. The TMF Response gets to the  
initiator without issue. Next the switches decide to carry traffic  
again, and the status messages arrive at the initiator.

I'm starting to think that the real fix for a number of these issues  
is actually to change things at the SCSI layer, and to come up with  
something akin to TAS & friends on steroids. Make it so that _every_  
task will receive status (unless there's an I_T Nexus Loss). Then a  
lot of these races disappear. I realize this isn't the best list to  
discuss this. :-)

Take care,

Bill
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFD/P76DJT2Egh26K0RArRdAJ94Z6T8T29SbQixlYI64PmJKjjNyQCePovJ
3vwTme/h8ZB816X/DmoSTTY=
=KTtd
-----END PGP SIGNATURE-----

_______________________________________________
Ips mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/ips
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.