95-253r1 -- Proposed REPORT LUNS command

ROWEBER at ACM.ORG ROWEBER at ACM.ORG
Sun Jul 16 07:36:01 PDT 1995


                                                          X3T10/95-253R1

To:         Membership of X3T10

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

Date:       July 16, 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 July
1995 General Working Group meeting and on additional electronic mail
comments from Charles Binford.

Changes from revision 0 are marked by change bars.

The following text is proposed for inclusion in the SPC as a new
command definition clause.


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 (if any)                         
 |
|=====+====================================================================
===|
| 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. 
Essentially, 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 value not be adjusted to
reflect the truncation.
^Z




More information about the T10 mailing list