SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


    [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

    RE: iSCSI: underrun with a check condition



    
    Tom:
    
    Just has I clicked send, I remembered about the error generators from the
    depths below ground.  All they do is generate errors and noise during
    standard operations along with CDR's for the most part.  So I stand
    corrected on the O/U-bit point.  Given how much more cost effective cheap
    spindles are today, I still wonder why tape media still exists.
    
    Again, I cheated the answer by only thinking of fixed disk media.
    
    Cheers,
    
    Andre Hedrick
    LAD Storage Consulting Group
    
    On Mon, 17 Feb 2003, Jackson, Tom wrote:
    
    > Tape drives don't work this way.  On tape devices, the block size is not
    > necessarily fixed.  The initiator may not know the block size for a read
    > ahead of time.  The initiator often depends on the sense data to determine
    > what command to issue next.
    > 
    > -----Original Message-----
    > From: Andre Hedrick [mailto:andre@linux-ide.org]
    > Sent: Monday, February 17, 2003 12:35 PM
    > To: Eddy Quicksall
    > Cc: Julian Satran; 'Santosh Rao'; '"Ips@Ece.Cmu.Edu"'
    > Subject: RE: iSCSI: underrun with a check condition
    > 
    > 
    > On Mon, 17 Feb 2003, Eddy Quicksall wrote:
    > 
    > > At the initiator, it would be up to the transport driver whether or not to
    > > pass these fields to the ULP depending on the status value.
    > > 
    > > At the target, the SCSI layer should not be knowledgeable of the expected
    > > transfer length because with parallel SCSI that is not passed on the wire.
    > > So the setting of these fields should be up to the transport driver.
    > 
    > You ask for X you had better get X.
    > If you do not get X, but X - N, the initiator (general terms now) is
    > expected to ignore the results and retry.  If the retry fails then the
    > target (general terms now) is expected to issue a failed media status.
    > Now how all these relate to what iSCSI sends or recieves is up the the
    > implimentation.
    > 
    > The SCSI does know the length if it a data in/out phase.
    > The attached CDB describes this fully.
    > 
    > Are you stating a position of the response?
    > 
    > > The only thing we need to know in iSCSI is the intent of paragraph 10.4.1.
    > 
    > Gurr, now I have to go re-read to finish the second half of the reply.
    > 
    > 
    > Cheers,
    > 
    > --andre
    > 
    > > Since that paragraph does not specify which status's it applies to, it is
    > > assumed that it applies to ALL statuses. I just wanted to be sure that was
    > > then intent. My examples were just to stir up some thinking on the issue.
    > > 
    > > Eddy
    > > 
    > > -----Original Message-----
    > > From: Julian Satran [mailto:satran@haifasphere.co.il] 
    > > Sent: Monday, February 17, 2003 7:36 AM
    > > To: 'Andre Hedrick'
    > > Cc: 'Santosh Rao'; 'Eddy Quicksall'; '"Ips@Ece.Cmu.Edu"'
    > > Subject: RE: iSCSI: underrun with a check condition
    > > 
    > > The whole discussion is at the border between SCSI and iSCSI.
    > > All I said is not that iSCSI will not process the command but rather
    > > that SCSI LLP will
    > > Know that it does not have to do anything (almost - it has to look if
    > > the command is a sense or an inq) but send the status. iSCSI will act as
    > > usual. My assumption was that the flags and residual length are
    > > generated by SCSI as it is the one relating byte counts with CDB
    > > information/device information
    > > 
    > > Regards,
    > > Julo
    > > 
    > > 
    > > -----Original Message-----
    > > From: Andre Hedrick [mailto:andre@linux-ide.org] 
    > > Sent: 17 February, 2003 14:11
    > > To: Julian Satran
    > > Cc: 'Santosh Rao'; 'Eddy Quicksall'; '"Ips@Ece.Cmu.Edu"'
    > > Subject: RE: iSCSI: underrun with a check condition
    > > 
    > > 
    > > 
    > > Julian,
    > > 
    > > This implies the Status Sequence Number and the Expected Command
    > > Sequence Window shall not be adjust by the target, period.  Thus the
    > > initiator would timeout and fail the command, or follow through on
    > > appropriate ERL states until it decays to a logout-login.
    > > 
    > > So I agree the target does not care about U/O bits for the most part in
    > > this case, but acknowledging the command regardless of direction will
    > > corrupt data to platter (for future expected reads) or generate a
    > > dereferrence null pointer from the filesystem or requesting application.
    > > 
    > > This assumes the command was a data in or out phase.
    > > If it was a task management command, I suspect things would become fuzzy
    > > for error faults from the requesting application.
    > > 
    > > Other than the HBA and/or Spindle to fault, why would one expect the
    > > target to no process the command?  Obviously one could have a net/fabric
    > > transport problem and miss the command, but there are other rules to
    > > protect both sides unless the target supports out of order command.
    > > 
    > > Regardless which end of the transaction on target one picks, a failure
    > > to process will jam the command and status sequence numbers some how.
    > > 
    > > The only other issue addressed by Eddy is the case of partial
    > > completions of the request.  Nowhere in the drafts or now RFC does it
    > > permitt such events without the U_bit being set.  Any target that
    > > permits an overrun based on the allocated data lenght requested is sure
    > > to explode, if it does not then the initiator will have a problem with
    > > the F_bit missing. Unless the target sets the F_bit proper in the
    > > stream.  One then encounters the problem of dumping the remainder if the
    > > O_bit is not set with the (effectively early F_bit).
    > > 
    > > If I have rambled and failed to describe the points clearly, please let
    > > me know.
    > > 
    > > Cheer,
    > > 
    > > Andre Hedrick
    > > LAD Storage Consulting Group
    > > PyX Technologies, Inc.
    > > 
    > > On Mon, 17 Feb 2003, Julian Satran wrote:
    > > 
    > > > Santosh,
    > > > 
    > > > For any check condition in which the target did process the command 
    > > > this is the expected behavior. The example Eddy gave involves a target
    > > 
    > > > that due to ACA or BUSY does not initiate processing the command.
    > > > In this case the target provider does not HAVE TO set the U/O bits
    > > (and
    > > > the associated values).
    > > > The relevant piece of information appears in SAM2 5.3.2 that indicates
    > > > that status precedence.
    > > > Obviously a target MAY set the U/O bits although  I doubt that an
    > > > initiator will look them up.
    > > > 
    > > > Regards,
    > > > Julo
    > > > 
    > > > 
    > > > -----Original Message-----
    > > > From: owner-ips@ece.cmu.edu [mailto:owner-ips@ece.cmu.edu] On Behalf 
    > > > Of Santosh Rao
    > > > Sent: 16 February, 2003 23:28
    > > > To: Eddy Quicksall
    > > > Cc: "Ips@Ece.Cmu.Edu (ips@ece.cmu.edu)"
    > > > Subject: Re: iSCSI: underrun with a check condition
    > > > 
    > > > 
    > > > Eddy,
    > > > 
    > > > Yes, anytime the amount of data transferred does not match the data 
    > > > transfer length specified, the target must set the U bit or O bit, 
    > > > depending on whether an underflow or overflow occurred.
    > > > 
    > > > A recovered error check condition may be returned as the response to a
    > > 
    > > > scsi command which was processed to completion. The recovered error 
    > > > indicates that a previous command completed successfully with some 
    > > > recovery action by the device server and the sense data provides 
    > > > additional details on that previous command.
    > > > 
    > > > The current command on which a recovered error check condition was 
    > > > returned may have been processed to completion, or experienced some 
    > > > underflow or overflow. This information must be conveyed by the target
    > > 
    > > > in the iscsi scsi response pdu using the appropriate fields to 
    > > > describe the underflow or overflow.
    > > > 
    > > > Thanks,
    > > > Santosh
    > > > 
    > > > 
    > > > > Should the target set the U bit when it gives a check condition to a
    > > > > data-in command?
    > > > >  
    > > > >  
    > > > > Eddy
    > > > 
    > > 
    > 
    > Andre Hedrick
    > LAD Storage Consulting Group
    > 
    
    


Home

Last updated: Tue Feb 18 18:19:14 2003
12330 messages in chronological order