1 |
# /etc/udev/rules/65-persistent-storage.rules: device naming rules for udev |
# /etc/udev/rules/65-persistent-storage.rules: device naming rules for udev |
2 |
# $Header: /root/magellan-cvs/src/udev/udev-persistent-storage.rules.magellan,v 1.8 2009-10-13 10:46:20 niro Exp $ |
# $Header: /root/magellan-cvs/src/udev/udev-persistent-storage.rules.magellan,v 1.10 2010-08-18 02:24:12 niro Exp $ |
3 |
# |
# |
4 |
# There are a number of modifiers that are allowed to be used in some |
# There are a number of modifiers that are allowed to be used in some |
5 |
# of the different fields. They provide the following subsitutions: |
# of the different fields. They provide the following subsitutions: |
24 |
# forward scsi device event to corresponding block device |
# forward scsi device event to corresponding block device |
25 |
ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" |
ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change" |
26 |
|
|
27 |
ACTION!="add|change", GOTO="persistent_storage_end" |
ACTION=="remove", GOTO="persistent_storage_end" |
28 |
SUBSYSTEM!="block", GOTO="persistent_storage_end" |
SUBSYSTEM!="block", GOTO="persistent_storage_end" |
29 |
|
|
30 |
# skip rules for inappropriate block devices |
# skip rules for inappropriate block devices |
31 |
KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*", GOTO="persistent_storage_end" |
KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*", GOTO="persistent_storage_end" |
32 |
|
|
|
# never access non-cdrom removable ide devices, the drivers are causing event loops on open() |
|
|
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="persistent_storage_end" |
|
|
KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="persistent_storage_end" |
|
|
|
|
33 |
# ignore partitions that span the entire disk |
# ignore partitions that span the entire disk |
34 |
TEST=="whole_disk", GOTO="persistent_storage_end" |
TEST=="whole_disk", GOTO="persistent_storage_end" |
35 |
|
|
36 |
# for partitions import parent information |
# for partitions import parent information |
37 |
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*" |
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*" |
38 |
|
|
39 |
# by-id (hardware serial number) |
# virtio-blk |
40 |
KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode" |
KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}" |
41 |
KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}" |
KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n" |
|
KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}-part%n" |
|
42 |
|
|
43 |
# USB devices use their own serial number |
# USB devices use their own serial number |
44 |
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p" |
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p" |
74 |
ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end" |
ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end" |
75 |
|
|
76 |
# probe filesystem metadata of optical drives which have a media inserted |
# probe filesystem metadata of optical drives which have a media inserted |
77 |
KERNEL=="sr*", ENV{ID_CDROM_MEDIA}=="?*", IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode" |
KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", IMPORT{program}="/sbin/blkid -o udev -p -u noraid -O $env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET} $tempnode" |
78 |
|
# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET |
79 |
|
KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode" |
80 |
|
|
81 |
# probe filesystem metadata of disks |
# probe filesystem metadata of disks |
82 |
KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode" |
KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode" |
88 |
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" |
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" |
89 |
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" |
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" |
90 |
|
|
91 |
|
# by-id (World Wide Name) |
92 |
|
ENV{DEVTYPE}=="disk", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}" |
93 |
|
ENV{DEVTYPE}=="partition", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}-part%n" |
94 |
|
|
95 |
LABEL="persistent_storage_end" |
LABEL="persistent_storage_end" |