|
[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 |