2.41 fails to mount root partition
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mountall (Ubuntu) |
Fix Released
|
High
|
Steve Langasek | ||
Quantal |
Fix Released
|
High
|
Steve Langasek |
Bug Description
[Impact]
A change introduced in mountall in quantal can cause boot-time hangs for some users when a filesystem is listed in /etc/fstab with a non-canonicalized mount point. This is a regression vs. previous releases.
[Test case]
1. Create a directory, /mnt/realmount
2. Make /mnt/linkmount a symlink to /mnt/realmount
3. Add the following entry to /etc/fstab, immediately after the root filesystem:
overlay /mnt/linkmount tmpfs defaults 0 0
(order here matters because this is a virtual filesystem, and mountall creates implicit dependencies for virtual filesystems based on /etc/fstab ordering)
4. Install plymouth to the initramfs by running: 'echo FRAMEBUFFER=yes > /etc/initramfs-
5. Reboot. Confirm that the system hangs on boot with a message about /mnt/linkmount not being mounted.
6. Press 'S' to skip this filesystem and finish booting.
7. Install mountall 2.42 from proposed.
8. Reboot. Confirm that the system boots all the way up without hanging.
9. Clean up by running 'rm -f /etc/initramfs-
[Regression potential]
The mountall code is very complicated, with little test coverage and no integration testing. I believe the code is now correct, but the risk of a regression in an unrelated boot configuration is non-negligible.
When booting with 2.41, I get a message
"The disk drive for / is not ready yet or not present"
but when I drop into a shell for manual recovery, / curiously /is/ mounted.
Downgrading mountall to 2.40 allows me to boot again.
Let me know if you need any more information.
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: mountall 2.40
ProcVersionSign
Uname: Linux 3.5.0-16-generic x86_64
ApportVersion: 2.5.3-0ubuntu1
Architecture: amd64
Date: Mon Oct 1 10:33:29 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
SourcePackage: mountall
UpgradeStatus: No upgrade log present (probably fresh install)
summary: |
- 3.41 fails to mount all partitions + 3.41 fails to mount root partition |
summary: |
- 3.41 fails to mount root partition + 2.41 fails to mount root partition |
description: | updated |
Changed in mountall (Ubuntu): | |
status: | Incomplete → Triaged |
importance: | Undecided → High |
assignee: | nobody → Steve Langasek (vorlon) |
tags: | added: rls-q-incoming |
tags: | removed: rls-q-incoming |
tags: | added: rls-q-notfixing |
Changed in mountall (Ubuntu): | |
status: | Triaged → Fix Committed |
description: | updated |
laney@raleigh> sudo fdisk -l ~
[sudo] password for laney:
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002a298
Device Boot Start End Blocks Id System
/dev/sda1 * 63 1953520064 976760001 83 Linux
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002a298
Device Boot Start End Blocks Id System
/dev/sdb1 * 63 1953520064 976760001 83 Linux
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa9f073f2
Device Boot Start End Blocks Id System
/dev/sdc1 * 2048 486172671 243085312 83 Linux
/dev/sdc2 957030400 976771071 9870336 82 Linux swap / Solaris
/dev/sdc3 486174718 957030399 235427841 5 Extended
/dev/sdc5 486174720 957030399 235427840 83 Linux
Partition table entries are not in disk order
Disk /dev/md127: 1000.2 GB, 1000204795904 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953524992 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002a298
Device Boot Start End Blocks Id System
/dev/md127p1 * 63 1953520064 976760001 83 Linux