FCP_RSP Residual Checking.
Santosh Rao
santoshr at cup.hp.com
Wed Jul 11 17:15:26 PDT 2001
* From the T10 Reflector (t10 at t10.org), posted by:
* Santosh Rao <santoshr at cup.hp.com>
*
This is a multi-part message in MIME format.
--------------447621DF240FC49085AEEC8C
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Bob & All,
With respect to the discussion below, that, FCP_RESID shall be correctly
initialized, regardless of the SCSI Status being returned, whenever the
data transferred during that command does not match FCP_DL .......
There is a statement in Section FC-PLDA Section 8.2.4.1 (FCP_RSP
Residual Checking) that states :
"During commands that do not contain an FCP_DATA IU, FCP_RESID_UNDER and
FCP_RESID_OVER shall both be set to 0, and the value of FCP_RESID is
undefined."
What is the intent of the above ?
Does it cover for commands which may have got a CHECK CONDITION and
performed no data transfer ?
i.e. When a command requesting FCP_DL bytes of data xfer is errored back
by the target with a CHECK CONDITION and no data transfer has occurred,
should the target initialize the FCP_RESID information to indicate that
no data was transferred , or is the FCP_RESID set to 0 ?
If the behaviour is the latter, then, initiators cannot check FCP_RESID
regardlesss of SCSI STATUS.
Any comments would be much appreciated.
Thanks,
Santosh Rao
Robert Snively wrote:
>
> Sub-clause 9.3 is pretty specific:
>
> If the command requested that data beyond FCP_DL be
> transferred, the FC_RSP IU shall contain the FCP_RESID_OVER
> bit set to one.
>
> and
>
> If the write operation requires a total amount of data
> less than the amount of data provided by the initiator,
> the target shall discard the excess bytes. Because there
> were less bytes provided than required by FCP_DL,
> the FCP_RESID_UNDER bit shall be set to 1 in the
> FCP_RSP IU. The command is completed according to the
> rules specified by the SCSI command set for that command.
>
> The intent is that the answer to your first and second
> questions are "yes".
>
> > Is the target required to initialize the fields FCP_RESID_UNDER,
> > FCP_RESID_OVER & FCP_RESID when any I/O is completed
> > without the data phase having transferred exactly
> > FCP_DL bytes, regardless of the SCSI Status being returned ?
>
> > When the target generates a CHECK CONDITION on an I/O
> > and may have returned less than FCP_DL bytes in the data
> > phase for that I/O, is it
> > required to set the FCP_RESID_UNDER to 1 and indicate the number of
> > bytes not transferred in the FCP_RESID field?
>
> The intent is that the answer to your second question is:
> FCP_RESID should appropriately regardless of the SCSI Status
> being returned. The classic errors of that class are those
> involving successful completion with reporting, like
> the "NO SENSE" and "RECOVERED ERROR" series of errors.
>
> >
> > What is the behaviour initiators can expect under the above
> > condition ?
>
> The intent is that there be no conflict. I believe that FCP-2
> was a bit less bald than FC-PLDA in stating the requirement.
>
> > Is there a conflict in the behaviours described by FCP/FCP-2
> > & FC-PLDA ?
> >
>
> Bob Snively e-mail: rsnively at brocade.com
> Brocade Communications Systems phone: 408 487 8135
> 1745 Technology Drive
> San Jose, CA 95110
>
> > -----Original Message-----
> > From: Santosh Rao [mailto:santoshr at cup.hp.com]
> > Sent: Thursday, July 05, 2001 12:15 PM
> > To: T10 Reflector; Fibre Channel T11 reflector
> > Subject: FCP_RSP Residual Checking.
> >
> >
> > All,
> >
> > I've got a question on target behaviour while sending a
> > CHECK CONDITION
> > SCSI status in its FCP_RSP IU.
> >
> > Is the target required to initialize the fields FCP_RESID_UNDER,
> > FCP_RESID_OVER & FCP_RESID when any I/O is completed without the data
> > phase having transferred exactly FCP_DL bytes, regardless of the SCSI
> > Status being returned ?
> >
> > When the target generates a CHECK CONDITION on an I/O and may have
> > returned less than FCP_DL bytes in the data phase for that I/O, is it
> > required to set the FCP_RESID_UNDER to 1 and indicate the number of
> > bytes not transferred in the FCP_RESID field?
> >
> > FC-PLDA Section 8.2.4.1 states that :
> > "SCSI targets that transfer less than FCP_DL bytes during
> > the FCP_DATA
> > IUs shall set the FCP_RESID_UNDER to 1".
> >
> > No exceptions are specified in the case of a CHECK CONDITION in the
> > above definition, implying that FCP_RSP residual checking can be
> > performed irrespective of the SCSI Status that was returned in the
> > FCP_RSP.
> >
> > However, the wording descriptions of FCP_RESID_UNDER,
> > FCP_RESID_OVER &
> > FCP_RESID in SCSI-FCP & FCP-2 are not as stringent as
> > FC-PLDA and do not
> > mandate that FCP_RESID_UNDER shall be set when the data
> > transferred is <
> > FCP_DL.
> >
> > What is the behaviour initiators can expect under the above
> > condition ?
> > Is there a conflict in the behaviours described by FCP/FCP-2
> > & FC-PLDA ?
> >
> > Thanks,
> > Santosh Rao
> >
--------------447621DF240FC49085AEEC8C
Content-Type: text/x-vcard; charset=us-ascii; name="santoshr.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: ATTACHMENT; filename="santoshr.vcf"
Content-Description: Card for Santosh Rao
begin:vcard
n:Rao;Santosh
tel;work:408-447-3751
x-mozilla-html:FALSE
org:Hewlett Packard, Cupertino.;SISL
adr:;;19420, Homestead Road, M\S 43LN, ;Cupertino.;CA.;95014.;USA.
version:2.1
email;internet:santoshr at cup.hp.com
title:Software Design Engineer
x-mozilla-cpt:;21088
fn:Santosh Rao
end:vcard
--------------447621DF240FC49085AEEC8C--
More information about the T10
mailing list