vol_id doesn't guarantee that mdadm/lvm/etc. have actually finished with the device, so only mitigates and does not solve mountroot race
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Fix Released
|
Undecided
|
Scott James Remnant (Canonical) | ||
Hardy |
Fix Released
|
Undecided
|
Unassigned | ||
Intrepid |
Fix Released
|
Undecided
|
Scott James Remnant (Canonical) |
Bug Description
Under certain circumstances, boot may fail and stop at an initramfs shell prompt with an error such as:
mount: Mounting /dev/md0 on /root failed: device or ressource busy
This could happen, for example, when the root file system is on a software RAID 1 volume. The problem could be resolved by adding a "sleep 10" or "udevadm settle" in /usr/share/
Discussing the problem with Scott, it appear that the race condition could be better avoided by letting udev settle after each call to vol_id in /usr/share/
== SRU ==
Impact: Boot failure can happen intermittently. The failure mode is very unfriendly (being dumped in an initramfs shell). The cause is non-apparent and hard to find.
Development: This problem have been fixed in intrepid, specifically in version 0.92bubuntu2. However, the changelog do not mention that it LP: #244926.
Patch for the current version in hard: http://
TEST CASE: I was unable to reproduce the problem reliably. The problem was reported to me (EtienneG) by a third party. thi s third party confirmed the fix provided by Scott make booting reliable.
Regression potential: None that I can see.
The initramfs-tools fixes, as packaged in Scott's PPA, have been reported to fix the problem on a system where the boot failed intermittently (believed to be to be related to having the root filesystem on a software RAID 1 volume).