2b63fb
--- mdadm/udev-md-raid-assembly.rules.orig	2023-01-06 16:37:03.780756100 +0800
2b63fb
+++ mdadm/udev-md-raid-assembly.rules	2023-01-06 17:04:09.536159980 +0800
2b63fb
@@ -5,6 +5,9 @@
2b63fb
 ENV{ANACONDA}=="?*", GOTO="md_inc_end"
2b63fb
 # assemble md arrays
2b63fb
 
2b63fb
+# Also don't process disks that are slated to be a multipath device
2b63fb
+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="md_inc_end"
2b63fb
+
2b63fb
 SUBSYSTEM!="block", GOTO="md_inc_end"
2b63fb
 
2b63fb
 # skip non-initialized devices
2b63fb
@@ -33,6 +36,13 @@
2b63fb
 
2b63fb
 LABEL="md_inc"
2b63fb
 
2b63fb
+# Make sure we don't handle dm devices when some limits are set.
2b63fb
+# And linux_raid_member only be set when change/remove event happen.
2b63fb
+# So we don't need to consider add event here.
2b63fb
+KERNEL=="dm-*", ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="md_inc_end"
2b63fb
+KERNEL=="dm-*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="md_inc_end"
2b63fb
+KERNEL=="dm-*", ENV{DM_SUSPENDED}=="1", GOTO="md_inc_end"
2b63fb
+
2b63fb
 # Bare disks are ready when add event happens, the raid can be assembled.
2b63fb
 ACTION=="change", KERNEL!="dm-*|md*", GOTO="md_inc_end"
2b63fb