diff --git a/udev-md-raid-arrays.rules b/udev-md-raid-arrays.rules index 13c9076..2967ace 100644 --- a/udev-md-raid-arrays.rules +++ b/udev-md-raid-arrays.rules @@ -3,7 +3,7 @@ SUBSYSTEM!="block", GOTO="md_end" # handle md arrays -ACTION!="add|change", GOTO="md_end" +ACTION=="remove", GOTO="md_end" KERNEL!="md*", GOTO="md_end" # partitions have no md/{array_state,metadata_version}, but should not diff --git a/udev-md-raid-assembly.rules b/udev-md-raid-assembly.rules index d668cdd..39b4344 100644 --- a/udev-md-raid-assembly.rules +++ b/udev-md-raid-assembly.rules @@ -30,8 +30,9 @@ LABEL="md_inc" # 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", 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", 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" diff --git a/udev-md-raid-safe-timeouts.rules b/udev-md-raid-safe-timeouts.rules index 12bdcaa..2e185ce 100644 --- a/udev-md-raid-safe-timeouts.rules +++ b/udev-md-raid-safe-timeouts.rules @@ -50,7 +50,7 @@ ENV{DEVTYPE}!="partition", GOTO="md_timeouts_end" IMPORT{program}="/sbin/mdadm --examine --export $devnode" -ACTION=="add|change", \ +ACTION!="remove", \ ENV{ID_FS_TYPE}=="linux_raid_member", \ ENV{MD_LEVEL}=="raid[1-9]*", \ TEST=="/sys/block/$parent/device/timeout", \