From: Kay Sievers Date: Tue, 7 Mar 2006 22:19:27 +0000 (+0100) Subject: fix persistent disk rules to exclude removable IDE drives X-Git-Tag: 174~2339 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=7b05672ebb1cb6cefe25f7c83c193cf4c6947e2b fix persistent disk rules to exclude removable IDE drives --- diff --git a/etc/udev/05-udev-early.rules b/etc/udev/05-udev-early.rules new file mode 100644 index 000000000..417ee67d6 --- /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 similarity index 83% rename from etc/udev/persistent-disk.rules rename to etc/udev/60-persistent-disk.rules index 3515bb189..679e1ef98 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 -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"