2025-02-14 05:52:19 +01:00
|
|
|
# do not edit this file, it will be overwritten on update
|
|
|
|
|
|
|
|
# Don't process any events if anaconda is running as anaconda brings up
|
|
|
|
# raid devices manually
|
|
|
|
ENV{ANACONDA}=="?*", GOTO="md_inc_end"
|
|
|
|
# assemble md arrays
|
|
|
|
|
|
|
|
SUBSYSTEM!="block", GOTO="md_inc_end"
|
|
|
|
|
|
|
|
# skip non-initialized devices
|
|
|
|
ENV{SYSTEMD_READY}=="0", GOTO="md_inc_end"
|
|
|
|
|
|
|
|
# handle potential components of arrays (the ones supported by md)
|
2025-02-14 06:01:59 +01:00
|
|
|
# For member devices which are md/dm devices, we don't need to
|
|
|
|
# handle add event. Because md/dm devices need to do some init jobs.
|
|
|
|
# Then the change event happens.
|
|
|
|
# When adding md/dm devices, ID_FS_TYPE can only be linux_raid_member
|
|
|
|
# after change event happens.
|
2025-02-14 05:52:19 +01:00
|
|
|
ENV{ID_FS_TYPE}=="linux_raid_member", GOTO="md_inc"
|
|
|
|
|
|
|
|
# "noiswmd" on kernel command line stops mdadm from handling
|
|
|
|
# "isw" (aka IMSM - Intel RAID).
|
|
|
|
# "nodmraid" on kernel command line stops mdadm from handling
|
|
|
|
# "isw" or "ddf".
|
|
|
|
IMPORT{cmdline}="noiswmd"
|
|
|
|
IMPORT{cmdline}="nodmraid"
|
|
|
|
|
|
|
|
ENV{nodmraid}=="?*", GOTO="md_inc_end"
|
|
|
|
ENV{ID_FS_TYPE}=="ddf_raid_member", GOTO="md_inc"
|
|
|
|
ENV{noiswmd}=="?*", GOTO="md_inc_end"
|
|
|
|
ENV{ID_FS_TYPE}=="isw_raid_member", ACTION!="change", GOTO="md_inc"
|
|
|
|
GOTO="md_inc_end"
|
|
|
|
|
|
|
|
LABEL="md_inc"
|
|
|
|
|
2025-02-14 06:01:59 +01:00
|
|
|
# Bare disks are ready when add event happens, the raid can be assembled.
|
|
|
|
ACTION=="change", KERNEL!="dm-*|md*", GOTO="md_inc_end"
|
|
|
|
|
2025-02-14 05:52:19 +01:00
|
|
|
# remember you can limit what gets auto/incrementally assembled by
|
|
|
|
# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY'
|
2025-02-14 06:01:59 +01:00
|
|
|
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"
|
|
|
|
|
2025-02-14 06:11:53 +01:00
|
|
|
ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="BINDIR/mdadm -If $devnode --path $env{ID_PATH}"
|
|
|
|
ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="BINDIR/mdadm -If $devnode"
|
2025-02-14 05:52:19 +01:00
|
|
|
|
|
|
|
LABEL="md_inc_end"
|