Below is a resend of a message previously sent to the reflectors. I have revised the original message upon further review.
There has been no feedback to the previous message and this will be my final reflector message regarding this issue.
Note that I have not found any explicit text indicating an Initator may or shall restart from Relative Offset zero on FCP_DATA IU recovery for a write operation.
Please respond asap if you have an interest in SRR behavior. Thanks...Dave
-------------------------------------------------------------------------------------------------------------
ACTION: HBA vendors to determine whether they need to be able to do Sequence retry from relative offset 0.
In the event of Sequence retry, is the initiator allowed to restart from Relative Offset=0 (implicitly for a write operation, see explicity for a read operation, see 12.4.1.7), which forces the target to hold the application client buffer until confirmed completion (may be megabytes)?
Tape vendors say this is ok for reads, but a problem for writes. They are able to back up only to the last XFER_RDY point. This seems to work with all HBAs in use. It is requested to remove the allowance to go back to zero.
8.2 Sequence Retransmission Request (SRR)
If the target FCP_Port is unable to retransmit the Sequence or data at the requested Relative Offset, the target FCP_Port shall respond with an FCP_RJT Sequence with a reason code of “Unable to perform the command request” and a reason code explanation of “Unable to supply requested data”.
A target FCP_Port that has agreed during Process Login to support retransmission should not reject requests for retransmission of the requested frames unless unusual conditions make the retransmission impossible.
12.4.1.6 FCP_DATA IU recovery - write operations
After first transmitting the ACC for the SRR, the target FCP_Port transmits an FCP_XFER_RDY IU in a new Sequence with the Relative Offset parameter specified by the SRR.
12.4.1.7 FCP_DATA IU recovery - read operations
The initiator FCP_Port shall set the RELATIVE OFFSET field in the SRR to that of the next data requested. If the initiator FCP_Port is unable to determine the Relative Offset of the next data requested, the initiator FCP_Port shall set the RELATIVE OFFSET field to zero.