]> git.ipfire.org Git - thirdparty/mdadm.git/blob - udev-md-raid-assembly.rules
Add reading Opal NVMe encryption information
[thirdparty/mdadm.git] / udev-md-raid-assembly.rules
1 # do not edit this file, it will be overwritten on update
2
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"
6 # assemble md arrays
7
8 SUBSYSTEM!="block", GOTO="md_inc_end"
9
10 # skip non-initialized devices
11 ENV{SYSTEMD_READY}=="0", GOTO="md_inc_end"
12
13 # handle potential components of arrays (the ones supported by md)
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.
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"
31 ENV{ID_FS_TYPE}=="isw_raid_member", ACTION!="change", GOTO="md_inc"
32 GOTO="md_inc_end"
33
34 LABEL="md_inc"
35
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
39 # remember you can limit what gets auto/incrementally assembled by
40 # mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY'
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
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"
46
47 LABEL="md_inc_end"