1 |
# /etc/udev/rules/64-device-mapper.rules: device naming rules for udev |
# /etc/udev/rules/64-device-mapper.rules: device naming rules for udev |
2 |
# $Header: /root/magellan-cvs/src/udev/udev-device-mapper.rules.magellan,v 1.1 2007-05-17 19:25:02 niro Exp $ |
# $Header: /root/magellan-cvs/src/udev/udev-device-mapper.rules.magellan,v 1.3 2008-03-22 18:06:19 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: |
18 |
# file that can be run before this one. |
# file that can be run before this one. |
19 |
# |
# |
20 |
|
|
|
# device mapper links hook into "change" events, when the dm table |
|
|
# becomes available; some table-types must be ignored |
|
|
|
|
21 |
KERNEL=="device-mapper", NAME="mapper/control" |
KERNEL=="device-mapper", NAME="mapper/control" |
|
|
|
|
KERNEL!="dm-*", GOTO="device_mapper_end" |
|
|
ACTION!="add|change", GOTO="device_mapper_end" |
|
|
|
|
|
# lookup device name |
|
|
# use dmsetup, until devmap_name is provided by sys-fs/device-mapper |
|
|
PROGRAM=="/sbin/dmsetup -j %M -m %m --noopencount --noheadings -c -o name info", |
|
|
ENV{DM_NAME}="%c" |
|
|
|
|
|
# do not do anything if dmsetup does not provide a name |
|
|
ENV{DM_NAME}=="", NAME="", OPTIONS="ignore_device" |
|
|
|
|
|
# ignore luks crypt devices while not fully up |
|
|
ENV{DM_NAME}=="temporary-cryptsetup-*", NAME="", OPTIONS="ignore_device" |
|
|
|
|
|
# use queried name |
|
|
ENV{DM_NAME}=="?*", NAME="mapper/$env{DM_NAME}" |
|
|
|
|
|
SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}" |
|
|
|
|
|
PROGRAM!="/sbin/dmsetup status -j %M -m %m", GOTO="device_mapper_end" |
|
|
RESULT=="|*snapshot*|*error*", GOTO="device_mapper_end" |
|
|
|
|
|
IMPORT{program}="vol_id --export $tempnode" |
|
|
OPTIONS="link_priority=50" |
|
|
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_SAFE}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_SAFE}" |
|
|
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}" |
|
|
|
|
|
LABEL="device_mapper_end" |
|