chiark / gitweb /
scsi_id: switch temporary node creation to /dev
[elogind.git] / extras / scsi_id / scsi_id.8
index a4fb881a058d040361152145269fb77602462047..691d5b8b05677c7cefef479f8a38bc4a2f025307 100644 (file)
@@ -12,12 +12,12 @@ 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.
+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
+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.
 
@@ -50,27 +50,33 @@ identifier starts with the NAA value of 6):
 .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.
+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 
+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 \-e
-Send all output to standard error even if
-.B scsi_id 
-is running in hotplug mode.
-.TP
-.BI \-f "\| config-file"
+.BI \-f "\| config\-file"
 Read configuration and black/white list entries from
-.B config-file 
+.B config\-file 
 rather than the default
 .B /etc/scsi_id.config
 file.
@@ -85,23 +91,73 @@ to generate any output.
 Prefix the identification string with the  driver model (sysfs) bus id of
 the SCSI device.
 .TP
-.BI \-p "\| 0x80 | 0x83"
-Use SCSI INQUIRY VPD page code 0x80 or 0x83. The default behaviour is to
-query the available VPD pages, and use page 0x83 if found, else page 0x80
-if found, else nothing.
+.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"
+.BI \-s "\| sysfs\-device"
 Generate an id for the
-.B sysfs-device.
+.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
@@ -111,7 +167,6 @@ Display version number and exit.
 .LP
 .SH "SEE ALSO"
 .BR udev (8)
-, especially the CALLOUT method.
 .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