-diff -ur mdadm-4.2.orig/udev-md-clustered-confirm-device.rules mdadm-4.2/udev-md-clustered-confirm-device.rules
---- mdadm-4.2.orig/udev-md-clustered-confirm-device.rules 2021-12-30 20:43:35.000000000 +0100
-+++ mdadm-4.2/udev-md-clustered-confirm-device.rules 2022-01-22 20:09:23.475366880 +0100
+diff -ur mdadm-4.3.orig/udev-md-clustered-confirm-device.rules mdadm-4.3/udev-md-clustered-confirm-device.rules
+--- mdadm-4.3.orig/udev-md-clustered-confirm-device.rules 2024-02-15 17:33:04.000000000 +0100
++++ mdadm-4.3/udev-md-clustered-confirm-device.rules 2024-04-03 02:28:17.711611149 +0200
@@ -13,9 +13,9 @@
# Based on the received UUID, node confirms the device if
# it is found by blkid, otherwise the node reports it is
+ENV{.md.newdevice}=="", RUN+="/sbin/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:missing"
LABEL="clustermd_end"
-diff -ur mdadm-4.2.orig/udev-md-raid-arrays.rules mdadm-4.2/udev-md-raid-arrays.rules
---- mdadm-4.2.orig/udev-md-raid-arrays.rules 2021-12-30 20:43:35.000000000 +0100
-+++ mdadm-4.2/udev-md-raid-arrays.rules 2022-01-22 20:10:57.007556030 +0100
+diff -ur mdadm-4.3.orig/udev-md-raid-arrays.rules mdadm-4.3/udev-md-raid-arrays.rules
+--- mdadm-4.3.orig/udev-md-raid-arrays.rules 2024-02-15 17:33:04.000000000 +0100
++++ mdadm-4.3/udev-md-raid-arrays.rules 2024-04-03 02:29:45.900799937 +0200
@@ -18,7 +18,7 @@
ATTR{md/sync_action}=="reshape", ENV{RESHAPE_ACTIVE}="yes"
LABEL="md_ignore_state"
ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace"
ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}"
ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}"
-@@ -37,8 +37,8 @@
+@@ -37,9 +37,9 @@
ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service"
# Tell systemd to run mdmon for our container, if we need it.
-ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c"
--ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
+-ENV{MD_MON_THIS}=="?*", TEST=="/etc/initrd-release", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@initrd-%c.service"
+-ENV{MD_MON_THIS}=="?*", TEST!="/etc/initrd-release", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
-ENV{RESHAPE_ACTIVE}=="yes", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdadm-grow-continue@%c.service"
+ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c"
-+ENV{MD_MON_THIS}=="?*", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
++ENV{MD_MON_THIS}=="?*", TEST=="/etc/initrd-release", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@initrd-%c.service"
++ENV{MD_MON_THIS}=="?*", TEST!="/etc/initrd-release", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service"
+ENV{RESHAPE_ACTIVE}=="yes", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdadm-grow-continue@%c.service"
LABEL="md_end"
-diff -ur mdadm-4.2.orig/udev-md-raid-assembly.rules mdadm-4.2/udev-md-raid-assembly.rules
---- mdadm-4.2.orig/udev-md-raid-assembly.rules 2021-12-30 20:43:35.000000000 +0100
-+++ mdadm-4.2/udev-md-raid-assembly.rules 2022-01-22 20:09:23.475366880 +0100
-@@ -30,9 +30,9 @@
+diff -ur mdadm-4.3.orig/udev-md-raid-assembly.rules mdadm-4.3/udev-md-raid-assembly.rules
+--- mdadm-4.3.orig/udev-md-raid-assembly.rules 2024-02-15 17:33:04.000000000 +0100
++++ mdadm-4.3/udev-md-raid-assembly.rules 2024-04-03 02:29:03.096222931 +0200
+@@ -38,10 +38,10 @@
# remember you can limit what gets auto/incrementally assembled by
# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY'
--ACTION=="add|change", IMPORT{program}="BINDIR/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}"
-+ACTION=="add|change", IMPORT{program}="/sbin/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}"
- ACTION=="add|change", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no", ENV{SYSTEMD_WANTS}+="mdadm-last-resort@$env{MD_DEVICE}.timer"
+-ACTION!="remove", IMPORT{program}="BINDIR/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}"
++ACTION!="remove", IMPORT{program}="/sbin/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}"
+ ACTION!="remove", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no", ENV{SYSTEMD_WANTS}+="mdadm-last-resort@$env{MD_DEVICE}.timer"
+
-ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="BINDIR/mdadm -If $name --path $env{ID_PATH}"
-ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="BINDIR/mdadm -If $name"
+ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}"