Subject: [Ips] iSCSI: Recovery R2T Usage

From: "Ken Sandars" <[email-masked]>
Date: Tue, 6 Jan 2004 11:10:14 -0000

Happy New Year, one and all!

Does a 'recovery R2T' count against the negotiated limit of
MaxOutstandingR2T?

For example, say MaxOutstandingR2T=1, and this sequence occurs:

1 I->T SCSI Command WRITE 128KB (no unsolicited data)
2 T->I R2T offset=0, len=128KB, R2TSN=0
3 I->T DATA-OUT offset=0 len=32KB DataSN=0
4 I->T DATA-OUT offset=32KB len=32KB DataSN=1 <BAD data digest>

(a) T->T R2T offset=32KB len=32KB R2TSN=1

5 I->T DATA-OUT offset=64KB len=32KB DataSN=2
6 I->T DATA-OUT offset=96KB len=32KB DataSN=3 F=1

(b) T->T R2T offset=32KB len=32KB R2TSN=1

Can the target send a recovery R2T at the time it detects the DD
failure, i.e. at point (a), or must it wait until the current
outstanding R2T is serviced, i.e. until point (b)?

Thanks,
Ken Sandars
Elipsan UK

_______________________________________________
Ips mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ips

---

From: Julian Satran <[email-masked]>
Date: Tue, 6 Jan 2004 16:13:31 +0200

Ken,

The basic idea beyond the recovery R2T is that the initiator does not have 
to process it in any way special (except perhaps that it may get back in 
the sequence ordering).
If the initiator stated that it can handle a single R2T the target MUST 
not send the recovery R2T until (b).

Julo

"Ken Sandars" <[email-masked]> 
Sent by: [email-masked]
06/01/2004 13:10

To
<[email-masked]>
cc

Subject
[Ips] iSCSI: Recovery R2T Usage

Thanks,
Ken Sandars
Elipsan UK

---

From: "Ken Sandars" <[email-masked]>
Date: Tue, 6 Jan 2004 15:48:34 -0000

Thanks Julo,
 
That sounds fair, but what happens when pdu 6 in the same example is
lost due to header corruption instead?
 
If the target is classy enough to run a receive sequence timer for the
command, this will pop. But it cannot send a recovery R2T can it? In
fact, generalising this, what can the target do when a command's receive
sequence timer pops and no more R2T's can be sent?
 
Any initiator developers out there got any thoughts on this?

Thanks again,
Ken

-----Original Message-----
From: Julian Satran [mailto:[email-masked]] 
Sent: 06 January 2004 14:14
To: Ken Sandars
Cc: [email-masked]; [email-masked]
Subject: Re: [Ips] iSCSI: Recovery R2T Usage

Ken, 

The basic idea beyond the recovery R2T is that the initiator does not
have to process it in any way special (except perhaps that it may get
back in the sequence ordering). 
If the initiator stated that it can handle a single R2T the target MUST
not send the recovery R2T until (b). 

Julo 

06/01/2004 13:10 

To
<[email-masked]> 

cc

Subject

Thanks,
Ken Sandars
Elipsan UK

---

From: Julian Satran <[email-masked]>
Date: Tue, 6 Jan 2004 18:35:24 +0200

Timer should do it. The target doesn't have any other choice than either 
pop-up the error at the SCSI level or send an R2T (that may be discarded 
by the initiator if the R2T is still pending).

Julo

06/01/2004 17:48

To
Julian Satran/Haifa/IBM@IBMIL
cc
<[email-masked]>
Subject
RE: [Ips] iSCSI: Recovery R2T Usage

Thanks Julo,
 
That sounds fair, but what happens when pdu 6 in the same example is lost 
due to header corruption instead?
 
If the target is classy enough to run a receive sequence timer for the 
command, this will pop. But it cannot send a recovery R2T can it? In fact, 
generalising this, what can the target do when a command's receive 
sequence timer pops and no more R2T's can be sent?

Thanks again,
Ken
 
-----Original Message-----
From: Julian Satran [mailto:[email-masked]] 
Sent: 06 January 2004 14:14
To: Ken Sandars
Cc: [email-masked]; [email-masked]
Subject: Re: [Ips] iSCSI: Recovery R2T Usage

Ken, 

Julo 

To
<[email-masked]> 
cc

Subject

Thanks,
Ken Sandars
Elipsan UK