summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Rajnoha <prajnoha@redhat.com>2009-11-13 12:33:27 +0000
committerPeter Rajnoha <prajnoha@redhat.com>2009-11-13 12:33:27 +0000
commit9c20c7af59f5dca84446143f6233fe5533097144 (patch)
treee3df67dc0505034aeb2a7a138fd7261ca912bfa3
parent9c19bfad070057d811ad8762504e6298d27b0d31 (diff)
downloadlvm2-9c20c7af59f5dca84446143f6233fe5533097144.tar.gz
lvm2-9c20c7af59f5dca84446143f6233fe5533097144.tar.xz
lvm2-9c20c7af59f5dca84446143f6233fe5533097144.zip
Remove 'last_rule' from udev rules.
'last_rule' option has been removed from udev (version >= 147). From now on, we require foreign rules to check and honor ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG} instead. Foreign rules should be skipped totally when this flag is set.
-rw-r--r--WHATS_NEW_DM1
-rw-r--r--libdm/libdevmapper.h6
-rw-r--r--udev/13-dm-disk.rules17
3 files changed, 8 insertions, 16 deletions
diff --git a/WHATS_NEW_DM b/WHATS_NEW_DM
index 28e86634..dca6df6c 100644
--- a/WHATS_NEW_DM
+++ b/WHATS_NEW_DM
@@ -1,5 +1,6 @@
Version 1.02.40 -
===================================
+ Remove 'last_rule' from udev rules: honor ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}.
Add dmsetup --inactive support.
Add dm_task_query_inactive_table to libdevmapper for kernel driver >= 4.16.
Fix hash lookup segfault when keys compared are different lengths.
diff --git a/libdm/libdevmapper.h b/libdm/libdevmapper.h
index ac0a758c..598a5f47 100644
--- a/libdm/libdevmapper.h
+++ b/libdm/libdevmapper.h
@@ -1058,9 +1058,9 @@ void dm_report_field_set_value(struct dm_report_field *field, const void *value,
/*
* DM_UDEV_DISABLE_OTHER_RULES_FLAG is set in case we need to disable
* all the other rules that are not general device-mapper nor subsystem
- * related (the rules belong to other software or packages). Use this
- * flag with care since it will cutoff the rule processing after the
- * last device-mapper/subsytem rule is applied.
+ * related (the rules belong to other software or packages). All foreign
+ * rules should check this flag directly and they should ignore further
+ * rule processing for such event.
*/
#define DM_UDEV_DISABLE_OTHER_RULES_FLAG 0x0008
/*
diff --git a/udev/13-dm-disk.rules b/udev/13-dm-disk.rules
index 03d9cbcb..271ca227 100644
--- a/udev/13-dm-disk.rules
+++ b/udev/13-dm-disk.rules
@@ -10,27 +10,18 @@
# suspended.
# "add" event is processed on coldplug only!
-ACTION!="add|change", GOTO="dm_other"
-ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_other"
-ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_other"
+ACTION!="add|change", GOTO="dm_end"
+ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="dm_end"
+ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="dm_end"
SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
-ENV{DM_SUSPENDED}=="1", GOTO="dm_other"
+ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
IMPORT{program}="$env{DM_SBIN_PATH}/blkid -o udev -p $tempnode"
ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-# Cutoff all subsequent rules if instructed by a flag.
-# This flag should be used in well-founded situations only to prevent
-# any problems that could arise when processing this event further by
-# foreign rules (various temporary and hidden devices mostly).
-LABEL="dm_other"
-ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}!="1", GOTO="dm_end"
-ENV{DM_COOKIE}=="?*", RUN+="$env{DM_SBIN_PATH}/dmsetup udevcomplete $env{DM_COOKIE}"
-OPTIONS+="last_rule"
-
LABEL="dm_end"