OK I just reproduced this again, this time with just a single disk in a btrfs volume. Same
thing.
I'm getting closer though. Check out this etc/fstab from within dracut, which I'm
guessing is the dracut fstab? Because this is not the fstab I have when root is mounted.
dracut:/# cat etc/fstab
/dev/disk/by-uuid/blahblahUUID /sysroot btrfs subvol=root,ro 0
/dev/disk/by-uuid/blahblahUUID /sysroot/usr btrfs subvol=usr,subvol=root,ro 1 2
The 2nd one strikes me as incorrect. You can't specify two subvols to mount at one
mount point. So is this a dracut bug? An anaconda-dracut bug? Or an anaconda bug?
In fact, if I do mount | grep btrfs, there already is a subvol=root mounted. But not usr.
If I try to manually mount it:
dracut:/# mount -o subvol=usr /dev/sda1 /sysroot/usr
[ 1334.xxxxxxx] device label fedora_f18v devid 1 transid 31 /dev/sda1
mount: /dev/sda1 is already mounted or /sysroot/usr busy
/dev/sda1 is already mounted on /sysroot
So maybe dracut doesn't like the fact one device can be mounted multiple times in a
btrfs world? If that's the case should anaconda suppress offering /usr on btrfs as a
subvol? Talk about messy, because it's first offered as a mount point before the
device type is chosen. If it's selected, but btrfs device type is suppressed then the
partitioning gets ugly if the user isn't informed that it's something other than a
btrfs subvol.
Pretty obscure problem…I'd think.
Chris Murphy