f44c832cb2
we are supposed to - Add a rule to run incremental assembly on containers in case there are multiple volumes in a container and we only started some of them in the initramfs - Make -If work with imsm arrays. We had too restrictive of a test in sysfs_unique_holder. - Make incremental assembly of containers act like incremental assembly of regular devices (aka, --run is needed to start a degraded array)
27 lines
1.2 KiB
Plaintext
27 lines
1.2 KiB
Plaintext
# This file causes block devices with Linux RAID (mdadm) signatures to
|
|
# automatically cause mdadm to be run.
|
|
# See udev(8) for syntax
|
|
|
|
SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="linux_raid_member", \
|
|
RUN+="/sbin/mdadm -I $tempnode"
|
|
SUBSYSTEM=="block", ACTION=="remove", ENV{ID_FS_TYPE}=="linux_raid_member", \
|
|
RUN+="/sbin/mdadm -If $env{DEVNAME}"
|
|
|
|
ENV{rd_NO_MDIMSM}=="?*", GOTO="md_imsm_inc_end"
|
|
# In case the initramfs only started some of the arrays in our container,
|
|
# run incremental assembly on the container itself. Note: we ran mdadm
|
|
# on the container in 64-md-raid.rules, and that's how the MD_LEVEL
|
|
# environment variable is already set. If that disappears from the other
|
|
# file, we will need to add this line into the middle of the next rule:
|
|
# IMPORT{program}="/sbin/mdadm -D --export $tempnode", \
|
|
|
|
SUBSYSTEM=="block", ACTION=="add", KERNEL=="md*", \
|
|
ENV{MD_LEVEL}=="container", RUN+="/sbin/mdadm -I $tempnode"
|
|
|
|
SUBSYSTEM=="block", ACTION=="add", ENV{ID_FS_TYPE}=="isw_raid_member", \
|
|
RUN+="/sbin/mdadm -I $tempnode"
|
|
SUBSYSTEM=="block", ACTION=="remove", ENV{ID_FS_TYPE}=="isw_raid_member", \
|
|
RUN+="/sbin/mdadm -If $env{DEVNAME}"
|
|
LABEL="md_imsm_inc_end"
|
|
|