initramfs' init-premount degrades *all* arrays (not just those required to boot)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mdadm (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
Bug Description
After a timeout mdadm in initrams degrades all arrays instead of just those required for the rootfs.
This is not good since non-rootfs arrays are likely to be available only incompletely (due to the early stage during boot) and are getting desynced by this.
When creating the initramfs image the mdadm hook should determine the dependencies of the rootfilesystem and save a list of the required md devices in the initramfs.
See: How would you decide what device is needed? at https:/
Currently the initramfs boot script just looks for *any* available incomplete array and calls "mdadm --assemble --scan --run", which will start *all* runnable arrays.
---
comment #2 contains a workaround for the proper command to run single arrays degraded.
summary: |
- mdadm degrades all arrays (from initramfs) instead of just those - required to boot + initramfs' mdadm degrades all arrays (not just those required to boot) |
description: | updated |
summary: |
- initramfs' mdadm degrades all arrays (not just those required to boot) + initramfs' init-premount degrades *all* arrays (not just those required + to boot) |
Changed in mdadm (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
On https:/ /wiki.ubuntu. com/ReliableRai d See: How would you decide what device is needed?
Only raids required for the rootfs should be started degraded if they haven't come up for a while.
(Within the ubuntu hotplug-scheme /usr/share/ initramfs- tools/hooks/ cryptroot contains code that may be usefull to determine devices that the fstab depends on.)