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.
.SH OPTIONS
.TP
.BI subsystem
-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.
+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 \-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 \-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.
query the available VPD pages, and use page 0x83 if found, else page 0x80
if found, else nothing.
.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 \-v
Generate verbose debugging output.
.TP
.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 used when run via the \fBudev\fP PROGRAM key. Passing any
-arguments or options as part of the PROGRAM rule breaks this assumption,
-and the results will likely not be as expected.
+in the DEVPATH environment variable. This mode is deprecated, but
+available for backwards compatibility.
-When in this mode, all errors and warnings are sent via syslog.
+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,
+To determine the specific value needed in a RESULT key, use the \-s option,
for example:
.sp
.sp
.nf
-BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="312345", NAME="disk%n"
+BUS="scsi", PROGRAM="/sbin/scsi_id -d %N -s %p", RESULT="312345", NAME="disk%n"
.fi
.P