#37 btrfs multiple device boot failure, missing btrfs udev rule in initramfs
Closed: Fixed 2 years ago by chrismurphy. Opened 3 years ago by chrismurphy.

Upstream bug
https://github.com/dracutdevs/dracut/issues/947

Summary: If any of multiple devices for a btrfs file system are slow to appear during startup, systemd tries to mount too soon, mount fails, and then boot fails. There is /usr/lib/udev/rules.d/64-btrfs.rules which waits on btrfs device ready to make sure all devices have appeared before mount is attempted, thus ensuring it succeeds; but this rule isn't in the initramfs.

Solution: Unconditionally add btrfs udev rule, or check fstab for any btrfs file systems, and add the rule to the initramfs. I'm not sure if the btrfs module is also needed (don't think so) or just the rule.


Metadata Update from @chrismurphy:
- Issue assigned to chrismurphy

2 years ago

This might be fixed in dracut-055. Needs testing. To test, make sure Btrfs is only used by a non sysroot volume, e.g. at /srv, because if sysroot is Btrfs it does get baked into the initramfs and what we need is for it to go into the initramfs when sysroot isn't btrfs (either unconditionally or whenever fstab indicates a btrfs file system).

Metadata Update from @chrismurphy:
- Issue close_status updated to: Fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata
Boards 1
Development Status: Done