chiark / gitweb /
[PATCH] update udev scsi_id to scsi_id 0.5
[elogind.git] / extras / scsi_id / gen_scsi_id_udev_rules.sh
index 07e21ebd50bededffc930829548157e1a895d3fe..874e94e8bba939331c776d6eee57a88f7b279522 100644 (file)
 prefix=disk-
 scsi_id=/sbin/scsi_id
 
-dump_ids()
-{
-       cd ${sysfs_dir}/block
-       for b in sd*
-       do
-               echo -n "$b "
-               $scsi_id -s /block/$b
-               if [ $? != 0 ]
-               then
-                       echo $0 failed for device $b >&2
-                       exit 1
-               fi
-       done
-}
-
 sysfs_dir=$(mount | awk '$5 == "sysfs" {print $3}')
+if [ "$sysfs_dir" = "" ]
+then
+       sysfs_dir="/sys"
+       echo "Using sysfs mount point \"$sysfs_dir\"" >&2
+fi
 
 c=$(ls /${sysfs_dir}/block/sd* 2>/dev/null | wc -l)
 if [ $c = 0 ]
@@ -56,12 +46,17 @@ echo "# Start of autogenerated scsi_id rules. Edit the NAME portions of these"
 echo "# rules to your liking."
 echo "#"
 first_line=yes
-dump_ids | while read in
+
+#
+cd ${sysfs_dir}/block
+for name in sd*
 do
-       set $in
-       name=$1
-       shift
-       id="$*"
+       id=$($scsi_id -s /block/$name)
+       if [ $? != 0 ]
+       then
+               echo $0 failed for device $name exiting >&2
+               exit 1
+       fi
        if [ $first_line = "yes" ]
        then
                first_line=no