95-253R3 -- REPORT LUNS command (as approved by X3T10 plenary)

ROWEBER at ACM.ORG ROWEBER at ACM.ORG
Sun Sep 17 11:26:17 PDT 1995


                                                         X3T10/95-253R3

To:         Membership of X3T10

From:       Ralph O. Weber        ROWeber at ACM.org
            ENDL Associates

Date:       September 13, 1995

Subject:    Proposed REPORT LUNS command


This document proposes a mechanism by which an application client
can determine what SCSI LUNs are supported by a device server. 
The proposal capability is implemented as a new SCSI command.  This
proposal is based on a discussion at the May 1995 SCSI Working Group
meeting.  As suggested at that time, this proposal attempts (as nearly
as possible) to follow various reporting examples in the MAINTENANCE
(IN) command, as defined in the SCSI-3 Controller Commands (SCC)
document.

During the development of this proposal, it was noted that many of the
SCC commands deal with 16 bit LUNs.  To be as general as the SCSI-3
models, this proposal must deal with 64 bit LUNs.

This revision of the proposal is based on input received at the
September 1995 General Working Group meeting.

Changes from revision 2 are marked by change bars.

The following text is proposed for inclusion in the SPC as a new
command definition clause.  Revision of the SPC shall mark the new
command as optional in Table 5.


7.x REPORT LUNS command

The REPORT LUNS command (see table n1) requests that the logical unit
numbers of known peripheral logical units at the target be sent to the
application client.  The REPORT LUNS command shall return information
about only those logical units to which commands can be sent.

                         Table n1 - REPORT LUNS command
+=====-========-========-========-========-========-========-========-========+
|  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
|Byte |        |        |        |        |        |        |        |        |
|=====+=======================================================================|
| 0   |                           Operation code (A0h)                        |
|-----+-----------------------------------------------------------------------|
| 1   |                                                                       |
|- - -+- -                        Reserved                                 - -|
| 5   |                                                                       |
|-----+-----------------------------------------------------------------------|
| 6   |(MSB)                                                                  |
|- - -+- -                        Allocation length                        - -|
| 9   |                                                                  (LSB)|
|-----+-----------------------------------------------------------------------|
| 10  |                           Reserved                                    |
|-----+-----------------------------------------------------------------------|
| 11  |                           Control                                     |
+=============================================================================+

The Allocation length shall be at least 16 bytes.  If the Allocation
length is less than 16 bytes, the device server shall return CHECK
CONDITION status.  The sense key shall be set to ILLEGAL REQUEST and
the additional sense data shall be set to INVALID FIELD IN CDB.

The Allocation length may not be sufficient to contain the logical
unit number values for all configured logical units.  This shall not
be considered an error.  The device server shall report as many
logical unit number values as will fit in the specified Allocation
length.

The device server shall report the logical unit numbers of configured
logical units using the format shown in table n2.

                 Table n2 - LUN reporting parameter list format
+=====-========-========-========-========-========-========-========-========+
|  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
|Byte |        |        |        |        |        |        |        |        |
|=====+=======================================================================|
| 0   |(MSB)                                                                  |
|- - -+- -                        LUN list length (n-7)                    - -|
| 3   |                                                                  (LSB)|
|-----+-----------------------------------------------------------------------|
| 4   |                                                                       |
|- - -+- -                        Reserved                                 - -|
| 7   |                                                                       |
|=====+=======================================================================|
|     |                           LUN list                                    |
|=====+=======================================================================|
| 8   |(MSB)                                                                  |
|- - -+- -                        LUN                                      - -|
| 15  |                                                                  (LSB)|
|-----+-----------------------------------------------------------------------|
|     |                           .                                           |
|     |                           .                                           |
|     |                           .                                           |
|-----+-----------------------------------------------------------------------|
| n-7 |(MSB)                                                                  |
|- - -+- -                        LUN                                      - -|
| n   |                                                                  (LSB)|
+=============================================================================+

The LUN list length shall contain the length in bytes of the LUN list
that is available to be transferred.  The LUN list length is the
number of logical unit numbers reported multiplied by eight.  If the
allocation length in the command descriptor block is too small to
transfer information about all configured logical units, the LUN list
length value shall not be adjusted to reflect the truncation.





More information about the T10 mailing list