* [PATCH] scsi_id changes for use with udev %N and %p
@ 2005-02-11 18:11 Patrick Mansfield
2005-02-11 18:40 ` Greg KH
2005-02-11 18:46 ` Patrick Mansfield
0 siblings, 2 replies; 3+ messages in thread
From: Patrick Mansfield @ 2005-02-11 18:11 UTC (permalink / raw)
To: linux-hotplug
Changes to scsi_id to support the udev %N and %p substitutions:
- Update version from .7 to .8
- change TMP_DIR back to /tmp
- if DEVPATH is set assume hotplug_mode (use syslog for logging, and does
not output some warnings)
- Always output a newline after the id is printed
- Allow command line options to override settings when hotplug_mode is set
- update man page
- update generator script to use the %N and %p substitutions.
=== extras/scsi_id/Makefile 1.11 vs edited ==--- 1.11/extras/scsi_id/Makefile Fri Oct 15 04:40:48 2004
+++ edited/extras/scsi_id/Makefile Thu Feb 10 10:41:37 2005
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-SCSI_ID_VERSION=0.7
+SCSI_ID_VERSION=0.8
prefix etcdir = ${prefix}/etc
=== extras/scsi_id/gen_scsi_id_udev_rules.sh 1.2 vs edited ==--- 1.2/extras/scsi_id/gen_scsi_id_udev_rules.sh Tue Mar 2 08:35:19 2004
+++ edited/extras/scsi_id/gen_scsi_id_udev_rules.sh Thu Feb 10 11:56:32 2005
@@ -60,7 +60,7 @@
if [ $first_line = "yes" ]
then
first_line=no
- echo "BUS=\"scsi\", PROGRAM=\"${scsi_id}\", RESULT=\"${id}\", NAME=\"${prefix}${name}%n\""
+ echo "BUS=\"scsi\", PROGRAM=\"${scsi_id} -d %N -s %p\", RESULT=\"${id}\", NAME=\"${prefix}${name}%n\""
echo
echo "# Further RESULT keys use the result of the last PROGRAM rule."
echo "# Be careful not to add any rules containing PROGRAM key between here"
=== extras/scsi_id/scsi_id.8 1.4 vs edited ==--- 1.4/extras/scsi_id/scsi_id.8 Fri Jul 30 03:23:53 2004
+++ edited/extras/scsi_id/scsi_id.8 Thu Feb 10 12:43:21 2005
@@ -53,9 +53,10 @@
.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
@@ -66,6 +67,8 @@
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
@@ -106,15 +109,15 @@
.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,
for example:
@@ -131,7 +134,7 @@
.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
=== extras/scsi_id/scsi_id.c 1.11 vs edited ==--- 1.11/extras/scsi_id/scsi_id.c Sat Feb 5 08:01:28 2005
+++ edited/extras/scsi_id/scsi_id.c Thu Feb 10 13:08:47 2005
@@ -44,8 +44,8 @@
/*
* temporary names for mknod.
*/
-#define TMP_DIR "/dev"
-#define TMP_PREFIX "tmp-scsi"
+#define TMP_DIR "/tmp"
+#define TMP_PREFIX "scsi"
/*
* XXX Note the 'e' (send output to stderr in all cases), and 'c' (callout)
@@ -736,9 +736,7 @@
format_serial(serial);
if (display_bus_id)
printf("%s: ", scsi_dev->name);
- printf("%s", serial);
- if (!hotplug_mode)
- printf("\n");
+ printf("%s\n", serial);
dprintf("%s\n", serial);
retval = 0;
}
@@ -762,11 +760,6 @@
if (getenv("DEBUG"))
debug++;
- if ((argc = 2) && (argv[1][0] != '-')) {
- hotplug_mode = 1;
- dprintf("hotplug assumed\n");
- }
-
dprintf("argc is %d\n", argc);
if (sysfs_get_mnt_path(sysfs_mnt_path, MAX_NAME_LEN)) {
log_message(LOG_WARNING, "sysfs_get_mnt_path failed: %s\n",
@@ -774,27 +767,19 @@
exit(1);
}
- if (hotplug_mode) {
+ devpath = getenv("DEVPATH");
+ if (devpath) {
/*
- * There is a kernel race creating attributes, if called
- * directly, uncomment the sleep.
+ * This implies that we were invoked via udev or hotplug.
*/
- /* sleep(1); */
-
- devpath = getenv("DEVPATH");
- if (!devpath) {
- log_message(LOG_WARNING, "DEVPATH is not set\n");
- exit(1);
- }
+ hotplug_mode = 1;
sys_specified = 1;
-
strncpy(target_path, sysfs_mnt_path, MAX_NAME_LEN);
strncat(target_path, devpath, MAX_NAME_LEN);
}
/*
- * Override any command line options set via the config file. This
- * is the only way to set options when in hotplug mode.
+ * Get config file options.
*/
newargv = NULL;
retval = get_file_options(NULL, NULL, &newargc, &newargv);
@@ -806,11 +791,13 @@
exit(1);
free(newargv);
}
- if (!hotplug_mode) {
- if (set_options(argc, argv, short_options, target_path,
- maj_min_dev) < 0)
+ /*
+ * Get command line options (overriding any config file or DEVPATH
+ * settings).
+ */
+ if (set_options(argc, argv, short_options, target_path,
+ maj_min_dev) < 0)
exit(1);
- }
if (!sys_specified) {
log_message(LOG_WARNING, "-s must be specified\n");
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] scsi_id changes for use with udev %N and %p
2005-02-11 18:11 [PATCH] scsi_id changes for use with udev %N and %p Patrick Mansfield
@ 2005-02-11 18:40 ` Greg KH
2005-02-11 18:46 ` Patrick Mansfield
1 sibling, 0 replies; 3+ messages in thread
From: Greg KH @ 2005-02-11 18:40 UTC (permalink / raw)
To: linux-hotplug
On Fri, Feb 11, 2005 at 10:11:20AM -0800, Patrick Mansfield wrote:
> Changes to scsi_id to support the udev %N and %p substitutions:
>
> - Update version from .7 to .8
>
> - change TMP_DIR back to /tmp
>
> - if DEVPATH is set assume hotplug_mode (use syslog for logging, and does
> not output some warnings)
>
> - Always output a newline after the id is printed
>
> - Allow command line options to override settings when hotplug_mode is set
>
> - update man page
>
> - update generator script to use the %N and %p substitutions.
Applied, thanks.
Are there any other changes you want to make before I do a new release?
thanks,
greg k-h
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] scsi_id changes for use with udev %N and %p
2005-02-11 18:11 [PATCH] scsi_id changes for use with udev %N and %p Patrick Mansfield
2005-02-11 18:40 ` Greg KH
@ 2005-02-11 18:46 ` Patrick Mansfield
1 sibling, 0 replies; 3+ messages in thread
From: Patrick Mansfield @ 2005-02-11 18:46 UTC (permalink / raw)
To: linux-hotplug
On Fri, Feb 11, 2005 at 10:40:34AM -0800, Greg KH wrote:
> Applied, thanks.
>
> Are there any other changes you want to make before I do a new release?
No, that is it.
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-02-11 18:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-11 18:11 [PATCH] scsi_id changes for use with udev %N and %p Patrick Mansfield
2005-02-11 18:40 ` Greg KH
2005-02-11 18:46 ` Patrick Mansfield
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).