73 lines
3.6 KiB
Diff
73 lines
3.6 KiB
Diff
|
--- LVM2.2.02.68-old/udev/10-dm.rules.in 2010-06-23 18:00:32.000000000 +0100
|
||
|
+++ LVM2.2.02.68/udev/10-dm.rules.in 2010-06-23 19:46:27.000000000 +0100
|
||
|
@@ -19,6 +19,13 @@
|
||
|
SUBSYSTEM!="block", GOTO="dm_end"
|
||
|
KERNEL!="dm-[0-9]*", GOTO="dm_end"
|
||
|
|
||
|
+# There is a new change event generated in block layer since kernel
|
||
|
+# version 2.6.32. It adds notification for changes in read-only
|
||
|
+# attribute. We don't want to misinterpret the regular meaning of change
|
||
|
+# events for DM devices and we don't want to apply the rules prematurely,
|
||
|
+# therefore we disable them in this situation.
|
||
|
+ENV{DISK_RO}=="1", GOTO="dm_disable"
|
||
|
+
|
||
|
# Set proper sbin path, /sbin has higher priority than /usr/sbin.
|
||
|
ENV{DM_SBIN_PATH}="/sbin"
|
||
|
TEST!="$env{DM_SBIN_PATH}/dmsetup", ENV{DM_SBIN_PATH}="/usr/sbin"
|
||
|
@@ -30,16 +37,11 @@
|
||
|
# kernels >= 2.6.31 only.
|
||
|
ENV{DM_COOKIE}=="?*", IMPORT{program}="$env{DM_SBIN_PATH}/dmsetup udevflags $env{DM_COOKIE}"
|
||
|
|
||
|
-# Device created, major and minor number assigned - "add" event generated.
|
||
|
-# Table loaded - no event generated.
|
||
|
-# Device resumed (or renamed) - "change" event generated.
|
||
|
-# Device removed - "remove" event generated.
|
||
|
-#
|
||
|
-# The dm-X nodes are always created, even on "add" event, we can't suppress
|
||
|
-# that (the node is created even earlier with devtmpfs). All the symlinks
|
||
|
-# (e.g. /dev/mapper) are created in right time after a device has its table
|
||
|
-# loaded and is properly resumed. For this reason, direct use of dm-X nodes
|
||
|
-# is not recommended.
|
||
|
+# Normally, we would test for DM_UDEV_DISABLE_DM_RULES_FLAG here and skip
|
||
|
+# the rules if set. However, we need to set DM_* environment variables
|
||
|
+# for now to properly filter out inappropriate events. This dependency
|
||
|
+# might be removed in the future.
|
||
|
+
|
||
|
ACTION!="add|change", GOTO="dm_end"
|
||
|
|
||
|
# There is no cookie set nor any flags encoded in events not originating
|
||
|
@@ -53,7 +55,6 @@
|
||
|
IMPORT{db}="DM_UDEV_DISABLE_OTHER_RULES_FLAG"
|
||
|
IMPORT{db}="DM_UDEV_LOW_PRIORITY_FLAG"
|
||
|
IMPORT{db}="DM_UDEV_DISABLE_LIBRARY_FALLBACK_FLAG"
|
||
|
-IMPORT{db}="DM_UDEV_PRIMARY_SOURCE_FLAG"
|
||
|
IMPORT{db}="DM_UDEV_FLAG7"
|
||
|
IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG0"
|
||
|
IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
||
|
@@ -65,19 +66,12 @@
|
||
|
IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG7"
|
||
|
LABEL="dm_flags_done"
|
||
|
|
||
|
-# Normally, we operate on "change" events. But when coldplugging, there's an
|
||
|
-# "add" event present. We have to recognize this and do our actions in this
|
||
|
-# particular situation, too. Also, we don't want the nodes to be created
|
||
|
-# prematurely on "add" events while not coldplugging. We check
|
||
|
-# DM_UDEV_PRIMARY_SOURCE_FLAG to see if the device was activated correctly
|
||
|
-# before and if not, we ignore the "add" event totally. This way we can support
|
||
|
-# udev triggers generating "add" events (e.g. "udevadm trigger --action=add" or
|
||
|
-# "echo add > /sys/block/<dm_device>/uevent"). The trigger with "add" event is
|
||
|
-# also used at boot to reevaluate udev rules for all existing devices activated
|
||
|
-# before (e.g. in initrd). If udev is used in initrd, we require the udev init
|
||
|
-# script to not remove the existing udev database so we can reuse the information
|
||
|
-# stored at the time of device activation in the initrd.
|
||
|
-ACTION=="add", ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", GOTO="dm_disable"
|
||
|
+# Normally, we operate on "change" events only. But when
|
||
|
+# coldplugging, there's an "add" event present. We have to
|
||
|
+# recognize this and do our actions in this particular
|
||
|
+# situation, too. Also, we don't want the nodes to be
|
||
|
+# created prematurely on "add" events while not coldplugging.
|
||
|
+ACTION=="add", ENV{STARTUP}!="1", NAME="", GOTO="dm_end"
|
||
|
|
||
|
# "dm" sysfs subdirectory is available in newer versions of DM
|
||
|
# only (kernels >= 2.6.29). We have to check for its existence
|