mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-11-01 09:21:11 +03:00
0e5f8a1fcc
/tmp is not writable on most systems, so just use /dev to create a temporary node. If called from a udev rule, "-d $tempnode" should be used and udev will create a temporary node and pass the name before calling scsi_id. Also remove gen_scsi_id_udev_rules.sh per Patrick's request, as it's no longer needed with the persistent disk links. Signed-off-by: Kay Sievers <kay.sievers@suse.de>
174 lines
5.3 KiB
Groff
174 lines
5.3 KiB
Groff
.TH SCSI_ID 8 "December 2003" "" "Linux Administrator's Manual"
|
|
.SH NAME
|
|
scsi_id \- retrieve and generate a unique SCSI identifier
|
|
.SH SYNOPSIS
|
|
.BI scsi_id
|
|
[\fIoptions\fP]
|
|
.SH "DESCRIPTION"
|
|
.B scsi_id
|
|
queries a SCSI device via the SCSI INQUIRY vital product data (VPD) page 0x80 or
|
|
0x83 and uses the resulting data to generate a value that is unique across
|
|
all SCSI devices that properly support page 0x80 or page 0x83.
|
|
|
|
If a result is generated it is sent to standard output, and the program
|
|
exits with a zero value. If no identifier is output, the program exits
|
|
with a non\-zero value.
|
|
|
|
\fBscsi_id\fP is primarily for use by other utilities such as \fBudev\fP
|
|
that require a unique SCSI identifier.
|
|
|
|
By default all devices are assume black listed, the \fB\-g\fP option must
|
|
be specified on the command line or in the config file for any useful
|
|
behaviour.
|
|
|
|
SCSI commands are sent directly to the device via the SG_IO ioctl
|
|
interface.
|
|
|
|
In order to generate unique values for either page 0x80 or page 0x83, the
|
|
serial numbers or world wide names are prefixed as follows.
|
|
|
|
Identifiers based on page 0x80 are prefixed by the character 'S', the SCSI
|
|
vendor, the SCSI product (model) and then the the serial number returned
|
|
by page 0x80. For example:
|
|
|
|
.sp
|
|
.nf
|
|
# scsi_id -p 0x80 -s /block/sdg
|
|
SIBM 3542 1T05078453
|
|
.fi
|
|
.P
|
|
|
|
Identifiers based on page 0x83 are prefixed by the identifier type
|
|
followed by the page 0x83 identifier. For example, a device with a NAA
|
|
(Name Address Authority) type of 3 (also in this case the page 0x83
|
|
identifier starts with the NAA value of 6):
|
|
|
|
.sp
|
|
.nf
|
|
# /sbin/scsi_id -p 0x83 -s /block/sdg
|
|
3600a0b80000b174b000000d63efc5c8c
|
|
.fi
|
|
.P
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.BI subsystem
|
|
Deprecated method: when called with only a single argument without a
|
|
leading \-, runs in a hotplug mode, and expects the environment variable
|
|
DEVPATH to specify the corresponding sysfs device. See section below on
|
|
usage with \fBudev\fP.
|
|
.TP
|
|
.BI \-a
|
|
Always print information (model, vendor strings) about the device even
|
|
if it does not support VPD pages.
|
|
.TP
|
|
.BI \-b
|
|
The default behaviour \- treat the device as black listed, and do nothing
|
|
unless a white listed device is found in the scsi_id config\-file.
|
|
.TP
|
|
.BI \-d "\| device\^"
|
|
Instead
|
|
of determining and creating a device node based on a sysfs dev
|
|
entry as done for the \fB\-s\fP, send SG_IO commands to
|
|
\fBdevice\fP, such as \fB/dev/sdc\fP.
|
|
This argument should also be used when invoked via udev to avoid problems
|
|
with creation of temporary files on not-yet writable directories.
|
|
.TP
|
|
.BI \-f "\| config\-file"
|
|
Read configuration and black/white list entries from
|
|
.B config\-file
|
|
rather than the default
|
|
.B /etc/scsi_id.config
|
|
file.
|
|
.TP
|
|
.BI \-g
|
|
Treat the device as white listed. The \fB\-g\fP option must be specified
|
|
on the command line or in the scsi_id configuration file for
|
|
.B scsi_id
|
|
to generate any output.
|
|
.TP
|
|
.BI \-i
|
|
Prefix the identification string with the driver model (sysfs) bus id of
|
|
the SCSI device.
|
|
.TP
|
|
.BI \-p "\| 0x80 | 0x83 | pre-spc3-83"
|
|
Use SCSI INQUIRY VPD page code 0x80, 0x83, or pre-spc3-83.
|
|
.sp
|
|
The default
|
|
behaviour is to query the availabe VPD pages, and use page 0x83 if found,
|
|
else page 0x80 if found, else nothing.
|
|
.sp
|
|
Page pre-spc3-83 should only be utilized for those scsi devices which
|
|
are not compliant with the SPC-2 or SPC-3 format for page 83. While this
|
|
option is used for older model 4, 5, and 6 EMC Symmetrix devices, its
|
|
use with SPC-2 or SPC-3 compliant devices will fallback to the page 83
|
|
format supported by these devices.
|
|
.TP
|
|
.BI \-s "\| sysfs\-device"
|
|
Generate an id for the
|
|
.B sysfs\-device.
|
|
The sysfs mount point must not be included. For example, use /block/sd,
|
|
not /sys/block/sd.
|
|
.TP
|
|
.BI \-u
|
|
Reformat the output : replace all whitespaces by underscores.
|
|
.TP
|
|
.BI \-x
|
|
Export all data in KEY=<value> format used to import in other programs.
|
|
.TP
|
|
.BI \-v
|
|
Generate verbose debugging output.
|
|
.TP
|
|
.BI \-V
|
|
Display version number and exit.
|
|
.RE
|
|
|
|
.SH USAGE WITH UDEV
|
|
|
|
If \fBscsi_id\fP is invoked with one argument without a leading \-, it
|
|
assumes it is called for a hotplug event, and looks for the sysfs device
|
|
in the DEVPATH environment variable. This mode is deprecated, but
|
|
available for backwards compatibility.
|
|
|
|
If the DEVPATH environment variable is set, scsi_id assumes it has been
|
|
invoked via udev (or some other hotplug program), and all errors or
|
|
warnings are sent using syslog.
|
|
|
|
To determine the specific value needed in a RESULT key, use the \-s option,
|
|
for example:
|
|
|
|
.sp
|
|
.nf
|
|
/sbin/scsi_id -s /block/sda
|
|
.fi
|
|
.P
|
|
|
|
\fBscsi_id\fP is one of the tools used in the "Linux Persistent Device Names"
|
|
scheme that creates persistent device links in /dev/disk. It is called with
|
|
the -x option which will print all values in a defined format to let udev
|
|
import it into its own environment for later event processing.
|
|
.sp
|
|
An example custom \fBudev\fP rule using \fBscsi_id\fP, that will name a block
|
|
device and any partitions for the device matching the \fBscsi_id\fP output
|
|
of 312345:
|
|
|
|
.sp
|
|
.nf
|
|
BUS=="scsi", PROGRAM=="/sbin/scsi_id -d %N -s %p", RESULT=="312345", NAME="disk%n"
|
|
.fi
|
|
.P
|
|
|
|
.SH "FILES"
|
|
.nf
|
|
.ft B
|
|
.ft
|
|
/etc/scsi_id.config configuration and black/white list entries
|
|
.fi
|
|
.LP
|
|
.SH "SEE ALSO"
|
|
.BR udev (8)
|
|
.SH AUTHORS
|
|
Developed by Patrick Mansfield <patmans@us.ibm.com> based on SCSI ID
|
|
source included in earlier linux 2.5 kernels, sg_utils source, and SCSI
|
|
specifications.
|