X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=etc%2Fudev%2Fgentoo%2F64-device-mapper.rules;h=e104a175d63ea8cf8d9ab8c4e1c58d71bb8a8d81;hb=564794bbd3758371e5b4fbc745b2c67c50dd4de1;hp=1100c1b7bdc21e445bbb3ac7b5743944d1d99cf6;hpb=1532b47bdf8cabc86d7e0f6d5e81342c42c48b2a;p=elogind.git diff --git a/etc/udev/gentoo/64-device-mapper.rules b/etc/udev/gentoo/64-device-mapper.rules index 1100c1b7b..e104a175d 100644 --- a/etc/udev/gentoo/64-device-mapper.rules +++ b/etc/udev/gentoo/64-device-mapper.rules @@ -3,29 +3,31 @@ KERNEL=="device-mapper", NAME="mapper/control" -KERNEL=="dm-*", ACTION=="add|change", GOTO="device_mapper_do" -GOTO="device_mapper_end" -LABEL="device_mapper_do" +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{ID_DM_NAME}="%c" + ENV{DM_NAME}="%c" # do not do anything if dmsetup does not provide a name -ENV{ID_DM_NAME}=="", NAME="", OPTIONS="ignore_device" +ENV{DM_NAME}=="", NAME="", OPTIONS="ignore_device" # ignore luks crypt devices while not fully up -ENV{ID_DM_NAME}=="temporary-cryptsetup-*", NAME="", OPTIONS="ignore_device" +ENV{DM_NAME}=="temporary-cryptsetup-*", NAME="", OPTIONS="ignore_device" # use queried name -ENV{ID_DM_NAME}=="?*", NAME="mapper/$env{ID_DM_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" -ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}", OPTIONS="link_priority=50" -ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}", OPTIONS="link_priority=50" +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"