comments on reserve/release 94-106r1

Ralph Weber -- VMS -- ZKO3-4/U14 weber at star.enet.dec.com
Sun Jul 31 05:18:34 PDT 1994


A review of the 94-106r1 document was held at the July X3T10 
working group meeting.  As a result of the working group
discussion, I believe that the following responses are
appropriate for Lansing Sloan's comments.

Note: I have deleted duplicate comments about spelling errors.
______________________________________________________________

Ralph,

Here are some comments on X3T10/94-106R1 on SPC Reserve/Release.
In general, I have quoted excerpts of your text and indented my
comments.  I think all are editorial.

If you need to discuss any of these comments in the committee,
feel free to reproduce them as you find appropriate.

I think the draft scsi3 third-party COPY and reserve/release
capabilities may be insufficient for the IEEE storage reference
model or for what we want to do at LLNL, but am not prepared to
say what we would want done for that, so have made no comments
along those lines.

x.x Reservations

...

Unless specific reservation conflict rules are stated for a given
command the following general rules shall apply.  A reservation
conflict shall occur when the entire unit is reserved and the device
server receives a command from an application client on an initiator
other than the one holding the reservation.  Commands that affect
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...

     The highlighted words are not quite clear if the reservation
     is a third-party reservation.  My real concern is if one
     initiator, perhaps a copy requester (R), reserves a target (T) on
     behalf of another, perhaps a copy master (M), then is M the
     only initiator that can send general commands to T or is R also
     allowed to send general commands?  (Probably the best place
     to make this clear is not here, but in the section on third
     party reserve.)

::::  The X3T10 working group discussed this questions.  Their consensus
::::  opinion is that R is guaranteed the right to issue three commands
::::  without getting a RESERVATION CONFLICT status.  Those commands are
::::  REQUEST SENSE, INQUIRY, and RELEASE.  R2 will reflect this opinion.

...

When a system is integrated with more than one initiator, there must
be agreement between the initiators as to how media is reserved and
             ^^^^^^^                          ^^^^^^^^
...

     Should "between" be "among"?
     Should "media is" be "media are" or "a medium is"?

::::  I picked "among" an "media are".

...

x.x.x Third-party release (Mandatory)

...

If the third-party (3rdPty) bit is zero, then a third-party release is
not requested.  If the 3rdPty bit is one then the device server shall
release the specified logical unit or extents, but only if the
initiator ID for the application client, 3rdPty bit, and Third party
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
...

     The third paragraph under "x.x Reservations" said "... a device
     server cannot differentiate between different application
     clients on an initiator...".  The highlighted text strongly
     implies otherwise and should be clarified.  I think simply
     deleting the highlighted text will suffice.

::::  The working group deleted the highlighted text.

...

  NOTE n1 If a target implements independent storage of mode
...

     I found notes n1 and n2 very helpful, at least with the rest of
     the text as it presently is.

...

x.x RESERVE(6) command

...

If the RESERVE(6) command is implmented, then the RELEASE(6) also
                             ^^^^^^^^^^
shall be implemented.

     "Implmented" should be "implemented."  This error occurs
     at least twice in 94-106R1.

::::  I will use a spelling checker on the next revision of the document.

x.x.x Logical unit reservation (Mandatory)

If the extent bit is zero, this command shall request that the entire
logical unit be reserved for the exclusive use of the initiator until
the reservation is superseded by another valid RESERVE command from
the same initiator <<that made the reservation >>or until released by
a RELEASE command from the same initiator that made the reservation,
by a BUS DEVICE RESET message from any initiator, by a hard RESET
     ^^^^^^^^^^^^^^^^^^^^^^^^
condition, or by a power on cycle.  ...

     Is this wording valid for all SCSI media (1394? FC? SSA?) or just
     the SCSI parallel bus?  If it is valid for all, could SCSI-3
     adopt a term that seems more appropriate?

     In several later instances, the power on cycle condition is not
     included in similar lists.  Do you want to make these list all
     the same?

::::  The correct SCSI-3 terminology is "TARGET RESET Task Management
::::  Function."  I will correct all instances of this problem.

...

x.x.x Extent reservation (Optional)

...

If the extent reservation option is implemented, then the extent
release option (see ?.?.?) shall also be implemented.  These options
permit multiple extents within the logical unit to be reserved, each
with a separate reservation type.
                ^^^^^^^^^^^^^^^^

     This was confusing awhile, since "reservation type" has not yet
     been introduced or defined.  A pointer to a definition would help.

::::  I will fix this.

...

  c)   If the requested reservation does not conflict with an existing
       reservation, the extents specified shall be reserved until
       superseded by another valid RESERVE command from an application
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...

     This was also confusing, because I tried to guess what the
     properties of supersedure might be.  A pointer to the clause on
     superseding reservations would help.

     Later in the same paragraph, should "or by a hard RESET condition"
     be followed by the added condition "or by a power on cycle"?

::::  I will fix this.

x.x.x Third-party reservation (Mandatory)

     Note: somewhere in this clause I think it should be made clear
     that the initiator that makes the third-party reservation does
     or does not retain the ability to send general commands.

::::  I will fix this.

...

If the third-party (3rdPty) bit is zero, then a third-party
...
device server shall preserve the reservation until it is superseded by
another valid RESERVE command from the initiator that made the
reservation or until it is released by the same initiator, by a BUS
DEVICE reset message from any initiator, or a hard reset condition. 
       ^^^^^                                                      ^
...

     Should "reset" be "RESET"?
     Should "or a power on cycle" be appended to the sentence?

::::  Actually, "BUS DEVICE reset" should be "TARGET RESET task management
::::  function."  I will add the "power cycle" condition too.

x.x RESERVE(10)

...

                         Table a2 - RESERVE(10) command
...

     This should be table a7, not table a2.

::::  I will fix this.

Thanks.

Ralph::




More information about the T10 mailing list