SORT BY:

LIST ORDER
THREAD
AUTHOR
SUBJECT


SEARCH

IPS HOME


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

    Re: iSCSI: ERL=1 question.



    
    I'm assuming Santosh wanted to reply to the entire group, so I am
    forwarding his response to the mailing list.
    
    Santosh's argument is to provide the (unstated) rule that data assembly is
    the domain of a lower iSCSI layer whose job is to filter out duplicate SCSI
    status PDUs. I would gladly accept this argument except that a standard
    should present a generic rule which should be independent of how a protocol
    is implemented. I would prefer a rule based on stat_sn ordering or any
    other equivalent rather than one based on ideal iSCSI layering.
    
    Santosh's motivation of having a seamless way of completing commands is
    probably not true as initiators are allowed to generate SCSI responses.
    
       Prasenjit Sarkar
       Research Staff Member
       IBM Almaden Research
       San Jose
    
    
    
                                                                                                                                                  
                        Santosh Rao                                                                                                               
                        <santoshr@cup.       To:     Prasenjit Sarkar/Almaden/IBM@IBMUS                                                           
                        hp.com>              cc:                                                                                                  
                        Sent by:             Subject:     Re: iSCSI: ERL=1 question.                                                              
                        santoshr@cup.h                                                                                                            
                        p.com                                                                                                                     
                                                                                                                                                  
                                                                                                                                                  
                        01/03/2002                                                                                                                
                        05:00 PM                                                                                                                  
                                                                                                                                                  
                                                                                                                                                  
    
    
    
    Prasenjit,
    
    Responses inline.
    
    Regards,
    Santosh
    
    Prasenjit Sarkar wrote:
    >
    > Assume the following scenario where I and T stand for initiator and
    target
    > respectively.
    >
    > 1. I->T: Scsi Cmd
    >
    > 2. T->I: Scsi Data (DataSN:0)
    >
    > 3. T->I: Scsi Status (Good)
    >
    > Assume there is a data digest problem for the data with DataSN:0, so
    >
    > 4. I->T: Data Snack for DataSN:0
    >
    > The target for some reason cannot respond with the data, so according to
    > the spec
    >
    > 5: T->I: Reject with reason DATA_SNACK_REJECT
    >
    > 6. T->I: Scsi Status (iSCSI response: SNACK rejected -> SCSI READ Error)
    >
    > The questions are as follows:
    >
    > A. Is SAM ambivalent of the fact that there can be two statii for the
    same
    > command? (I dont have a problem if SAM doesnt)
    
    I'm not certain on what SAM says on this one. However, one can envision
    that the iscsi i/o finite state machine would enter into some state upon
    encountering a datasn hole, say, data_snack_sent, and it should ignore
    any scsi status received while in this state.
    The lower pdu receive and re-assembly module should have passed format
    and digest checks (assuming the frame came thru fine) and so, the local
    value of exp_statsn should have gotten updated within this initiator
    instance's iscsi connection finite state machine.
    
    Thus.....
    i) since the 1st status was ignored while awaiting a data_snack
    response, only 1 scsi status ends up being processed by the i/o finite
    state m/c.
    
    ii) there will not be a statsn hole, since the previous status was
    received successfully by the receive path, resulting in an update to
    exp_statsn. however, the staus was discarded within the i/o fsm.
    
    >
    > B, Does the second SCSI status have the same StatSN as the first? Likely,
    > it does not, but it should be clearly stated that a SCSI status with
    higher
    > stat_sn overrides one with the lower stat_sn.
    
    See above.
    
    >
    > C. I'm looking for motivation here: why does the target (rather than the
    > initiator) generate the second status? Couldnt the initiator also do the
    > same on receiving the DATA_SNACK_REJECT?
    
    So that all I/Os receive a single method of completion via the SCSI
    status, I guess.
    
    
    
    --
    ##################################
    Santosh Rao
    Software Design Engineer,
    HP-UX iSCSI Driver Team,
    Hewlett Packard, Cupertino.
    email : santoshr@cup.hp.com
    Phone : 408-447-3751
    ##################################
    
    
    
    
    


Home

Last updated: Thu Jan 03 22:17:43 2002
8280 messages in chronological order