summaryrefslogtreecommitdiff
path: root/kpartx/kpartx.rules
blob: 64d550ded049cdc00da89bc7928526bd85bce795 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#
# persistent links for device-mapper devices
# only hardware-backed device-mapper devices (ie multipath, dmraid,
# and kpartx) have meaningful persistent device names
#

KERNEL!="dm-*", GOTO="kpartx_end"
ACTION=="remove", GOTO="kpartx_end"

ENV{DM_TABLE_STATE}!="LIVE", GOTO="kpartx_end"
ENV{DM_DEPS}=="0", GOTO="kpartx_end"

ENV{DM_UUID}=="?*", IMPORT{program}=="kpartx_id %M %m $env{DM_UUID}"

OPTIONS="link_priority=50"

ENV{DM_UUID}=="?*", ENV{DM_TYPE}=="?*" \
	SYMLINK+="disk/by-id/$env{DM_TYPE}-$env{DM_NAME}"

# Create persistent links for multipath tables
ENV{DM_WWN}=="?*", ENV{DM_PART}!="?*", \
	SYMLINK+="disk/by-id/wwn-$env{DM_WWN}"

# Create persistent links for partitions
ENV{DM_WWN}=="?*", ENV{DM_PART}=="?*", \
	SYMLINK+="disk/by-id/wwn-$env{DM_WWN}-part$env{DM_PART}"

# Create persistent by-label/by-uuid links
ENV{ID_FS_USAGE}=="?*", IMPORT{db}="ID_FS_USAGE"
ENV{ID_FS_UUID_ENC}=="?*", IMPORT{db}="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}"
ENV{ID_FS_LABEL_ENC}=="?*", IMPORT{db}="ID_FS_LABEL_ENC"
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", \
	SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"

# Create dm tables for partitions
ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", GOTO="kpartx_end"
ENV{DM_NR_VALID_PATHS}=="0", GOTO="kpartx_end"
ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="kpartx_end"
ENV{DM_STATE}!="SUSPENDED", ENV{DM_UUID}=="mpath-*", \
	RUN+="/sbin/kpartx -un -p -part /dev/$name"

LABEL="kpartx_end"