Subject: Re: ISCSI: need to fix handling of partial data transfers

From: "Julian Satran" <[email-masked]>
Date: Mon, 18 Mar 2002 02:30:26 +0200

Device operation is not in the iSCSI domain.  You can find the information
you need in SCSI.
It comes complete with device type, capabilities, alignment required(if
any), block sizes and much more (enough to fill many pages for every device
class).  If you want the information you require just ask for it by SCSI
means.
A perusal of the SCSI standards for several classes of devices might help.

Julo

                      Paul Koning                                                                        
                      <[email-masked]>          To:       Julian Satran/Haifa/IBM@IBMIL                   
                      Sent by:                 cc:       [email-masked]                                 
                      [email-masked]        Subject:  Re: ISCSI: need to fix handling of partial data 
                      .edu                      transfers                                                

                      16-03-02 18:24                                                                     
                      Please respond to                                                                  
                      Paul Koning                                                                        

Excerpt of message (sent 16 March 2002) by Julian Satran:
>
> Paul,
>
> We have different opinions on basics.
> If I enter into an appliance shop and ask for a bottle of milk - I get an
> "error message".
> It may fall in one of two categories:
>
>    "protocol error" (in humanes - "you are an idiot")
>    "we don't keep milk"
>
>
> I agreed that the first was not nice and I will change it.
> But there are errors from which you have no recovery - the devices can't
> work with each other.

I think we're actually pretty much in agreement here.

My point is this:

Right now the spec says "you can ask for milk in an appliance store,
but the shopkeeper is allowed to tell you 'no'".  I'm proposing to say
"you cannot ask for milk in an appliance store".

The outcome is the same either way: the devices discover that they
can't talk to each other.  But the second rule is simpler.

So that's why I proposed to make the rule "you must answer with
exactly the data length asked for (R2T) or negotiated (unsolicited
data length)".

     paul

---

From: Paul Koning <[email-masked]>
Date: Mon, 18 Mar 2002 08:32:26 -0500

> A perusal of the SCSI standards for several classes of devices might help.

I have looked through SAM-2, the common commands standard, and the
block devices standard.  In SAM-2, I found the discussion I mentioned;
nothing else showed up that I could find.  I wasn't talking about
block sizes, device types, or stuff like that.

Indeed, device operation isn't part of iSCSI.  But I wasn't talking
about device operation.  The subject is moving data from and to the
devices, and that certainly is the job of iSCSI.  It's the job of
iSCSI to allow an initiator to talk successfully to a target.  If one
end has limits on how it can talk, it should therefore also be part of
iSCSI to communicate those limits to the other side.

I prefer to find out the limitations ahead of time, rather than to
bump into them and be told "surprise, you can't do that".  Most of the
time, iSCSI lets you know ahead of time.  Why else would we have login
parameters like Max PDU size?

	   paul