Boot fails with encyprted BTRFS RAID1 array - open ctree failed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux Mint |
New
|
Undecided
|
Unassigned | ||
cryptsetup (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I have recently installed Linux Mint 17.1 into a system with three drives - 1 SSD containing the / partition (btrfs format), and 2 identical HDD's containing /home in an encrypted BTRFS RAID1 array. The system will not boot without manual intervention, using either the recommended 3.13.0-37 kernel or the most up to date 3.16.0-31 kernel.
At about the same time that I am prompted to enter my password to unlock the drive, I am prompted that a mount has failed. If I press M to enter manual recovery I see the emergency shell. Then all I have to do is exit (Ctrl+D) to continue booting and everything works normally.
It appears that a similar (maybe the same) bug was reported on ArchWiki:
https:/
I also experienced this bug on OpenSUSE 13.2 and filed a bug report there:
https:/
On a possibly related note, I am getting TWO password prompts even though both encrypted volumes use the same password. On OpenSUSE only one password was required. My understanding is that as soon as you suppy one password it is supposed to be tried on each volume in /etc/crypttab.
I will now try the fix that worked for me on OpenSUSE (see bug report)
copy /usr/lib/
ENV{DM_NAME}=="", IMPORT{
ENV{DM_NAME}=="?*", IMPORT{
with single one
IMPORT{
and report back what happens.
Some system information:
=======
relevant excerpts from /etc/fstab:
# SSD containing the main system
# / was on /dev/sda3 during installation
UUID=00a0b482-
# /boot/efi was on /dev/sda2 during installation
UUID=26CC-DC02 /boot/efi vfat defaults 0 1
# encrypted RAID1 btrfs array containing /home
# the btrfs devid's are 2 and 3
UUID=e91f611f-
/etc/crypttab:
encrypted-home-sdb UUID=9c8fb7d0-
encrypted-home-sdc UUID=1ca9d3ba-
relevant excerpts from dmesg:
[ 9.487085] BTRFS: device fsid e91f611f-
[ 9.497773] BTRFS info (device dm-0): turning on discard
[ 9.497776] BTRFS info (device dm-0): enabling auto defrag
[ 9.497777] BTRFS info (device dm-0): disk space caching is enabled
[ 9.498565] BTRFS: failed to read the system array on dm-0
[ 9.522859] BTRFS: open_ctree failed
[ 10.246821] init: mountall main process (322) terminated with status 2
[ 10.275253] init: plymouth-
[ 11.110362] BTRFS info (device dm-0): turning on discard
[ 11.110365] BTRFS info (device dm-0): enabling auto defrag
[ 11.110366] BTRFS info (device dm-0): disk space caching is enabled
[ 11.113918] BTRFS: failed to read the system array on dm-0
[ 11.129428] BTRFS: open_ctree failed
[ 11.714810] BTRFS: device fsid e91f611f-
[ 12.628797] init: mountall main process (1033) terminated with status 2
[ 13.088968] BTRFS info (device dm-1): turning on discard
[ 13.088971] BTRFS info (device dm-1): enabling auto defrag
[ 13.088973] BTRFS info (device dm-1): disk space caching is enabled
[ 13.145755] BTRFS: bdev /dev/mapper/
[ 16.111916] init: failsafe main process (1436) killed by TERM signal
affects: | ubuntu → upstart (Ubuntu) |
OK, the workaround from OpenSUSE did NOT work (with the 3.16 kernel). Same behavior as before. The steps I performed were:
copy /lib/udev. rules.d/ 64-btrfs. rules to /etc/udev/ 64-btrfs. rules
The line builtin} ="btrfs ready $devnode"
IMPORT{
was already present in the original rules file, so I did not have to replace anything as I did in OpenSUSE.