%PDF- %PDF-
Direktori : /lib/udev/rules.d/ |
Current File : //lib/udev/rules.d/64-md-raid-assembly.rules |
# 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 # Also don't process disks that are slated to be a multipath device ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="md_inc_end" 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) # 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. 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" # Make sure we don't handle dm devices when some limits are set. # And linux_raid_member only be set when change/remove event happen. # So we don't need to consider add event here. KERNEL=="dm-*", ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="md_inc_end" KERNEL=="dm-*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="md_inc_end" KERNEL=="dm-*", ENV{DM_SUSPENDED}=="1", GOTO="md_inc_end" # Bare disks are ready when add event happens, the raid can be assembled. ACTION=="change", KERNEL!="dm-*|md*", GOTO="md_inc_end" # remember you can limit what gets auto/incrementally assembled by # mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY' ACTION!="remove", IMPORT{program}="/usr/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+="/usr/sbin/mdadm -If $name --path $env{ID_PATH}" ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/usr/sbin/mdadm -If $name" LABEL="md_inc_end"