diff options
Diffstat (limited to 'udev/10-dm.rules.in')
-rw-r--r-- | udev/10-dm.rules.in | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in index 1386b40a..211c0c31 100644 --- a/udev/10-dm.rules.in +++ b/udev/10-dm.rules.in @@ -20,6 +20,9 @@ ENV{DM_SBIN_PATH}="/sbin" TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin" TEST!="$env{DM_SBIN_PATH}/dmsetup", GOTO="dm_end" +# Decode udev control flags and set environment variables appropriately. +ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}" + ACTION!="add|change", GOTO="dm_end" # Normally, we operate on "change" events only. But when @@ -55,10 +58,11 @@ ENV{DM_SUSPENDED}=="Suspended", ENV{DM_SUSPENDED}="1" # possible future changes. ENV{DM_UDEV_RULES_VSN}="1" -ENV{DM_NAME}=="?*", NAME="$kernel", SYMLINK+="(DM_DIR)/$env{DM_NAME}" +ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/$env{DM_NAME}" -# We have to ignore further rule application for temporary -# cryptsetup devices. But don't forget to send the notification! +# We have to ignore further rule application for inappropriate events +# and devices. But still send the notification if cookie exists. +ENV{DM_UUID}=="mpath-?*", ENV{DM_ACTION}=="PATH_FAILED", GOTO="dm_last_rule" ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="dm_last_rule" ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="dm_last_rule" |