]>
Commit | Line | Data |
---|---|---|
2452f13a TB |
1 | # do not edit this file, it will be overwritten on update |
2 | ||
05ec50a5 N |
3 | # Don't process any events if anaconda is running as anaconda brings up |
4 | # raid devices manually | |
5 | ENV{ANACONDA}=="?*", GOTO="md_inc_end" | |
2452f13a TB |
6 | # assemble md arrays |
7 | ||
8 | SUBSYSTEM!="block", GOTO="md_inc_end" | |
9 | ||
3a77acd7 HR |
10 | # skip non-initialized devices |
11 | ENV{SYSTEMD_READY}=="0", GOTO="md_inc_end" | |
12 | ||
2452f13a | 13 | # handle potential components of arrays (the ones supported by md) |
24d329fc XN |
14 | # For member devices which are md/dm devices, we don't need to |
15 | # handle add event. Because md/dm devices need to do some init jobs. | |
16 | # Then the change event happens. | |
17 | # When adding md/dm devices, ID_FS_TYPE can only be linux_raid_member | |
18 | # after change event happens. | |
05ec50a5 N |
19 | ENV{ID_FS_TYPE}=="linux_raid_member", GOTO="md_inc" |
20 | ||
21 | # "noiswmd" on kernel command line stops mdadm from handling | |
22 | # "isw" (aka IMSM - Intel RAID). | |
23 | # "nodmraid" on kernel command line stops mdadm from handling | |
24 | # "isw" or "ddf". | |
25 | IMPORT{cmdline}="noiswmd" | |
26 | IMPORT{cmdline}="nodmraid" | |
27 | ||
28 | ENV{nodmraid}=="?*", GOTO="md_inc_end" | |
29 | ENV{ID_FS_TYPE}=="ddf_raid_member", GOTO="md_inc" | |
30 | ENV{noiswmd}=="?*", GOTO="md_inc_end" | |
e1b92ee0 | 31 | ENV{ID_FS_TYPE}=="isw_raid_member", ACTION!="change", GOTO="md_inc" |
2452f13a TB |
32 | GOTO="md_inc_end" |
33 | ||
34 | LABEL="md_inc" | |
35 | ||
24d329fc XN |
36 | # Bare disks are ready when add event happens, the raid can be assembled. |
37 | ACTION=="change", KERNEL!="dm-*|md*", GOTO="md_inc_end" | |
38 | ||
2452f13a TB |
39 | # remember you can limit what gets auto/incrementally assembled by |
40 | # mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY' | |
cf9a1092 MT |
41 | ACTION!="remove", IMPORT{program}="BINDIR/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}" |
42 | ACTION!="remove", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no", ENV{SYSTEMD_WANTS}+="mdadm-last-resort@$env{MD_DEVICE}.timer" | |
43 | ||
85945e19 N |
44 | ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="BINDIR/mdadm -If $name --path $env{ID_PATH}" |
45 | ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="BINDIR/mdadm -If $name" | |
2452f13a TB |
46 | |
47 | LABEL="md_inc_end" |