aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@suse.de>2006-03-07 23:19:27 +0100
committerKay Sievers <kay.sievers@suse.de>2006-03-07 23:19:27 +0100
commit7b05672ebb1cb6cefe25f7c83c193cf4c6947e2b (patch)
tree471e6b2bc6cca02901c90358a1222956f3dd981e
parent226c074d6d27a789a1dfba869f993b53fe135958 (diff)
downloadudev-7b05672ebb1cb6cefe25f7c83c193cf4c6947e2b.tar.gz
fix persistent disk rules to exclude removable IDE drives
-rw-r--r--etc/udev/05-udev-early.rules4
-rw-r--r--etc/udev/60-persistent-disk.rules (renamed from etc/udev/persistent-disk.rules)15
2 files changed, 12 insertions, 7 deletions
diff --git a/etc/udev/05-udev-early.rules b/etc/udev/05-udev-early.rules
new file mode 100644
index 00000000..417ee67d
--- /dev/null
+++ b/etc/udev/05-udev-early.rules
@@ -0,0 +1,4 @@
+# sysfs is populated after the event is sent
+ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+ACTION=="add", SUBSYSTEM=="scsi", WAIT_FOR_SYSFS="ioerr_cnt"
+
diff --git a/etc/udev/persistent-disk.rules b/etc/udev/60-persistent-disk.rules
index 3515bb18..679e1ef9 100644
--- a/etc/udev/persistent-disk.rules
+++ b/etc/udev/60-persistent-disk.rules
@@ -1,14 +1,15 @@
# persistent disk links: /dev/disk/{by-id,by-uuid,by-label,by-path}
# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-ACTION!="add", GOTO="persistent_end"
-SUBSYSTEM!="block", GOTO="persistent_end"
+ACTION!="add", GOTO="persistent_disk_end"
+SUBSYSTEM!="block", GOTO="persistent_disk_end"
# skip rules for inappropriate block devices
-KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_end"
+KERNEL=="ram*|loop*|fd*|nbd*", GOTO="persistent_disk_end"
# never access removable ide devices, the drivers are causing event loops on open()
-BUS=="ide", DRIVER!="ide-cdrom", SYSFS{removable}="1", GOTO="persistent_end"
+KERNEL=="hd*[!0-9]", SYSFS{removable}=="1", DRIVER!="ide-cdrom", GOTO="persistent_disk_end"
+KERNEL=="hd*[0-9]", SYSFS{../removable}=="1", DRIVER!="ide-cdrom", GOTO="persistent_disk_end"
# by-id (hardware serial number)
KERNEL=="hd*[!0-9]", IMPORT{program}="/sbin/ata_id --export $tempnode"
@@ -28,12 +29,12 @@ KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{I
# by-path (shortest physical path)
KERNEL=="*[!0-9]|sr*", ENV{ID_TYPE}=="?*", IMPORT{program}="/sbin/path_id %p", SYMLINK+="disk/by-path/$env{ID_PATH}"
-KERNEL=="sr*", GOTO="persistent_end"
+KERNEL=="sr*", GOTO="persistent_disk_end"
KERNEL=="*[0-9]", IMPORT{parent}=="ID_*"
KERNEL=="*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
# by-label/by-uuid (filesystem properties)
-KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="persistent_end"
+KERNEL=="*[!0-9]", SYSFS{removable}=="1", GOTO="persistent_disk_end"
IMPORT{program}="/sbin/vol_id --export $tempnode"
ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
@@ -45,4 +46,4 @@ KERNEL=="*[0-9]", ENV{ID_EDD}=="?*", SYMLINK+="disk/by-id/edd-$env{ID_EDD}-part%
KERNEL=="dm-[0-9]*", ACTION=="add", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", SYMLINK="disk/by-name/%c"
-LABEL="persistent_end"
+LABEL="persistent_disk_end"