45 lines
1.5 KiB
Plaintext
45 lines
1.5 KiB
Plaintext
#
|
|
# 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!="add|change", GOTO="kpartx_end"
|
|
ENV{DM_UUID}!="?*", GOTO="kpartx_end"
|
|
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="kpartx_end"
|
|
|
|
# Create dm tables for partitions on multipath devices.
|
|
ENV{DM_UUID}!="mpath-?*", GOTO="mpath_kpartx_end"
|
|
|
|
# Ignore RAID members
|
|
ENV{ID_FS_TYPE}=="linux_raid_member|isw_raid_member|ddf_raid_member", GOTO="mpath_kpartx_end"
|
|
|
|
# DM_SUBSYSTEM_UDEV_FLAG1 is the "skip_kpartx" flag.
|
|
# For events not generated by libdevmapper, we need to fetch it from db:
|
|
# - "change" events with DM_ACTIVATION!="1" (e.g. partition table changes)
|
|
# - "add" events for which rules are not disabled ("coldplug" case)
|
|
ENV{DM_ACTIVATION}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
|
ACTION=="add", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
|
ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="mpath_kpartx_end"
|
|
|
|
# 11-dm-mpath.rules sets MPATH_UNCHANGED for events that can be ignored.
|
|
ENV{MPATH_UNCHANGED}=="1", GOTO="mpath_kpartx_end"
|
|
|
|
# Don't run kpartx now if we know it will fail or hang.
|
|
ENV{DM_SUSPENDED}=="1", GOTO="mpath_kpartx_end"
|
|
ENV{DM_NOSCAN}=="1", GOTO="mpath_kpartx_end"
|
|
|
|
# Run kpartx
|
|
GOTO="run_kpartx"
|
|
LABEL="mpath_kpartx_end"
|
|
|
|
## Code for other subsystems (non-multipath) could be placed here ##
|
|
|
|
GOTO="kpartx_end"
|
|
|
|
LABEL="run_kpartx"
|
|
RUN+="/sbin/kpartx -un -p -part /dev/$name"
|
|
|
|
LABEL="kpartx_end"
|