software raid doesn't assemble before mount on boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mdadm (Ubuntu) |
Fix Released
|
High
|
Dimitri John Ledkov | ||
Precise |
Fix Released
|
High
|
Dimitri John Ledkov | ||
Quantal |
Fix Released
|
High
|
Dimitri John Ledkov | ||
update-manager (Ubuntu) |
Fix Released
|
Medium
|
Michael Vogt | ||
Precise |
Fix Released
|
Undecided
|
Unassigned | ||
Quantal |
Fix Released
|
Medium
|
Michael Vogt |
Bug Description
[IMPACT]
* Due to small time-outs udev may not detect all attached drives quick enough to be processed and assembled into a RAID array
* This results in dropping a user into an initramfs shell or if BOOT_DEGRADED is set the boot will proceed degrading RAID unnecessary
* The fix is to include wait_for_udev call to give udev more time to find the drives which are part of RAID
[TESTCASE]
* Install RAID preferably with a "slow" interface, e.g. RAID1 with one drive on external USB
* Reboot multiple times and notice that sometimes boot fails
* Upgrade to the -proposed package
* Reboot multiple times and notice that boot fail less often
[Regression Potential]
* boot speed is decreased due to the nature of the fix, i.e. adding a physical delay
* Multiple reports in this bug and on the ubuntuforums reporting that this change "fixes" the boot issue for the users
Related branches
- Dimitri John Ledkov: Pending requested
-
Diff: 24674 lines (+7902/-9243)110 files modified.pc/applied-patches (+0/-3)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c (+0/-1650)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c (+0/-602)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c (+0/-1131)
.pc/debian-conffile-location.diff/Makefile (+287/-0)
.pc/debian-conffile-location.diff/ReadMe.c (+608/-0)
.pc/debian-conffile-location.diff/mdadm.8.in (+2899/-0)
.pc/debian-conffile-location.diff/mdadm.conf.5 (+581/-0)
.pc/debian-conffile-location.diff/mdassemble.8 (+65/-0)
.pc/debian-no-Werror.diff/Makefile (+287/-0)
.pc/debian/conffile-location.diff/Makefile (+0/-286)
.pc/debian/conffile-location.diff/ReadMe.c (+0/-602)
.pc/debian/conffile-location.diff/mdadm.8.in (+0/-2880)
.pc/debian/conffile-location.diff/mdadm.conf.5 (+0/-581)
.pc/debian/conffile-location.diff/mdassemble.8 (+0/-65)
.pc/debian/no-Werror.diff/Makefile (+0/-286)
.pc/sha1-includes.diff/sha1.h (+141/-0)
ANNOUNCE-3.2.4 (+144/-0)
ANNOUNCE-3.2.5 (+31/-0)
Assemble.c (+72/-23)
Create.c (+14/-4)
Detail.c (+8/-7)
Grow.c (+288/-84)
Incremental.c (+6/-8)
Makefile (+7/-6)
Manage.c (+94/-51)
Monitor.c (+19/-12)
ReadMe.c (+7/-1)
check.d/_numbers (+0/-1)
check.d/root_on_raid (+0/-35)
config.c (+6/-6)
debian/README.source (+0/-18)
debian/changelog (+102/-0)
debian/checkarray (+15/-0)
debian/control (+1/-1)
debian/initramfs/local-premount (+1/-0)
debian/mdadm.logcheck.ignore.server (+1/-1)
debian/patches/debian-conffile-location.diff (+126/-0)
debian/patches/debian-disable-udev-incr-assembly.diff (+27/-0)
debian/patches/debian-no-Werror.diff (+26/-0)
debian/patches/debian/conffile-location.diff (+0/-128)
debian/patches/debian/disable-udev-incr-assembly.diff (+0/-29)
debian/patches/debian/no-Werror.diff (+0/-28)
debian/patches/series (+4/-3)
debian/patches/sha1-includes.diff (+45/-0)
debian/po/ca.po (+7/-7)
debian/po/cs.po (+7/-7)
debian/po/da.po (+7/-7)
debian/po/de.po (+7/-7)
debian/po/es.po (+7/-7)
debian/po/eu.po (+7/-7)
debian/po/fi.po (+6/-6)
debian/po/fr.po (+7/-7)
debian/po/gl.po (+7/-7)
debian/po/it.po (+7/-7)
debian/po/ja.po (+7/-7)
debian/po/nl.po (+7/-7)
debian/po/pt.po (+7/-7)
debian/po/pt_BR.po (+39/-7)
debian/po/ru.po (+7/-7)
debian/po/sk.po (+7/-7)
debian/po/sv.po (+7/-7)
debian/po/templates.pot (+2/-2)
debian/po/vi.po (+7/-7)
debian/rules (+7/-17)
debian/source_mdadm.py (+5/-7)
inventory (+28/-26)
lib.c (+7/-2)
makedist (+4/-2)
managemon.c (+6/-0)
mapfile.c (+6/-11)
mdadm.8.in (+42/-23)
mdadm.c (+24/-6)
mdadm.conf-example (+1/-1)
mdadm.conf.5 (+1/-1)
mdadm.h (+38/-14)
mdadm.spec (+2/-2)
mdassemble.8 (+1/-1)
mdmon.8 (+13/-3)
mdmon.c (+48/-11)
mdopen.c (+1/-1)
monitor.c (+20/-16)
msg.c (+10/-0)
msg.h (+1/-0)
platform-intel.h (+1/-0)
sha1.c (+42/-49)
sha1.h (+64/-12)
super-ddf.c (+25/-16)
super-intel.c (+1159/-189)
super0.c (+18/-12)
super1.c (+169/-102)
sysfs.c (+13/-4)
test (+6/-5)
tests/00raid1 (+2/-2)
tests/05r1-bitmapfile (+3/-3)
tests/05r1-grow-external (+2/-2)
tests/05r1-grow-internal (+2/-2)
tests/05r1-grow-internal-1 (+2/-2)
tests/05r1-internalbitmap (+3/-3)
tests/05r1-internalbitmap-v1a (+3/-3)
tests/05r1-internalbitmap-v1b (+3/-3)
tests/05r1-internalbitmap-v1c (+3/-3)
tests/05r1-n3-bitmapfile (+3/-3)
tests/05r1-re-add (+2/-2)
tests/06wrmostly (+2/-2)
tests/07autoassemble (+4/-4)
tests/09imsm-assemble (+3/-3)
tests/09imsm-create-fail-rebuild (+1/-1)
tests/10ddf-create (+1/-1)
util.c (+30/-12)
affects: | ubuntu → update-manager (Ubuntu) |
summary: |
- mdadm-functions missing udevadm settle (?) + software raid doesn't assemble before mount on boot |
description: | updated |
Changed in mdadm (Ubuntu): | |
assignee: | nobody → Dmitrijs Ledkovs (dmitrij.ledkov) |
importance: | Undecided → High |
Changed in update-manager (Ubuntu Precise): | |
status: | New → Fix Released |
Changed in mdadm (Ubuntu Precise): | |
status: | New → Confirmed |
importance: | Undecided → High |
assignee: | nobody → Dmitrijs Ledkovs (dmitrij.ledkov) |
Changed in mdadm (Ubuntu Precise): | |
milestone: | none → ubuntu-12.04.1 |
description: | updated |
Changed in mdadm (Ubuntu Precise): | |
status: | Confirmed → In Progress |
tags: |
added: verification-done removed: verification-needed |
Thanks for your bugreport.
The bug for the backtrace is fixed now. The other bug about the degraded array is a bug with mdadm, I will create a taks for it.