blob: 46bc5d2f9a9af54b0e0e054cc72ffb8811fab4d0 [file] [log] [blame]
.TH SG_LUNS "8" "February 2013" "sg3_utils\-1.36" SG3_UTILS
.SH NAME
sg_luns \- send SCSI REPORT LUNS command
.SH SYNOPSIS
.B sg_luns
[\fI\-\-decode\fR] [\fI\-\-help\fR] [\fI\-\-hex\fR] [\fI\-\-maxlen=LEN\fR]
[\fI\-\-quiet\fR] [\fI\-\-raw\fR] [\fI\-\-select=SR\fR]
[\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR
.PP
.B sg_luns
\fI\-\-test=LUNHEX\fR [\fI\-\-hex\fR] [\fI\-\-verbose\fR]
.SH DESCRIPTION
.\" Add any additional description here
.PP
In the first form shown in the SYNOPSIS this utility sends the SCSI REPORT
LUNS command to the \fIDEVICE\fR and outputs the response. In the SPC\-3
SCSI standard support for the REPORT LUNS command is mandatory.
.PP
When the \fI\-\-test=LUNHEX\fR option is given (the second form in the
SYNOPSIS), the \fILUNHEX\fR value (assumed to represent a LUN in hex) is
decoded as outlined in SAM\-3 and SAM\-4 .
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
.TP
\fB\-d\fR, \fB\-\-decode\fR
decode logical unit numbers into their hierarchical parts. Interprets
luns as described in SAM\-3 when the HiSup bit is set in a
standard INQUIRY's response.
.TP
\fB\-h\fR, \fB\-\-help\fR
output the usage message then exit.
.TP
\fB\-H\fR, \fB\-\-hex\fR
when given once this utility will output response to the REPORT LUNS command
in ASCII hex then exit. When given twice it causes the decode options to
output values in hex rather than decimal. When this option is used with
\fI\-\-test=LUNHEX\fR than decoded values are output in hex.
.TP
\fB\-m\fR, \fB\-\-maxlen\fR=\fILEN\fR
where \fILEN\fR is the (maximum) response length in bytes. It is placed in
the cdb's "allocation length" field. If not given (or \fILEN\fR is zero)
then 8192 is used. The maximum allowed value of \fILEN\fR is 65536.
.TP
\fB\-q\fR, \fB\-\-quiet\fR
output ASCII hex rendering of each report lun, one per line.
.TP
\fB\-r\fR, \fB\-\-raw\fR
output response in binary (to stdout).
.TP
\fB\-s\fR, \fB\-\-select\fR=\fISR\fR
this option sets the 'select report' field (\fISR\fR) in the SCSI REPORT
LUNS command. The default value is 0. When 0 is given (or this option is
not specified) then the \fIDEVICE\fR should yield a list of luns addressable
via this "I_T nexus" that use the following lun addressing methods: logical
unit addressing, peripheral device addressing and flat space addressing.
When 1 is given the \fIDEVICE\fR should yield a list of only "well known"
logical units addressable via this "I_T" nexus. When 2 is given the
\fIDEVICE\fR should yield all luns addressable via this "I_T" nexus.
To simplify, for the I_T nexus associated with the \fIDEVICE\fR, the
meanings of the \fISR\fR values are:
.br
\fB0\fR : all luns excluding well known logical units
.br
\fB1\fR : well known logical units
.br
\fB2\fR : all luns
.br
Values between 0xf8 and 0xff (inclusive) are vendor specific (SPC\-4 rev 32),
other values greater than 2 are reserved.
.TP
\fB\-t\fR, \fB\-\-test\fR=\fILUNHEX\fR
\fILUNHEX\fR is assumed to be a hexadecimal number in ASCII hex. The number
can be up to 64 bits in size (i.e. 16 hexadecimal digits). All \fILUNHEX\fR
values are padded to the right if less than 16 hexadecimal digits are
given (e.g. \fI\-\-test=0122003a\fR becomes 0122003a00000000). \fILUNHEX\fR
may be prefixed by '0x' or '0X' (e.g. the last example could have been
\fI\-\-test=0x0122003a\fR). \fILUNHEX\fR may also be given with spaces or
tabs between each byte (or anywhere else) but then \fILUNHEX\fR would need
to be surrounded by single or double quotes. The given hexadecimal number is
decoded as if the \fI\-\-decode\fR had been given.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
increase the level of verbosity, (i.e. debug output).
.TP
\fB\-V\fR, \fB\-\-version\fR
print the version string and then exit.
.SH EXIT STATUS
The exit status of sg_luns is 0 when it is successful. Otherwise see
the sg3_utils(8) man page.
.SH AUTHORS
Written by Douglas Gilbert.
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co 2004\-2013 Douglas Gilbert
.br
This software is distributed under a FreeBSD license. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.B sg_inq(8)