[systemd-devel] btrfs raid not ready but systemd tries to mount it anyway

Andrei Borzenkov arvidjaar at gmail.com
Mon Oct 12 05:56:01 UTC 2020


11.10.2020 23:57, Chris Murphy пишет:
> Hi,
> 
> A Fedora 32 (systemd-245.8-2.fc32) user has a 10-drive Btrfs raid1 set
> to mount in /etc/fstab:
> 
> UUID=f89f0a16-<snipped>  /srv   btrfs  defaults,nofail,x-systemd.requires=/  0 0
> 
> For some reason, systemd is trying to mount this file system before
> all ten devices are ready. Supposedly this rule applies:
> https://github.com/systemd/systemd/blob/master/rules.d/64-btrfs.rules.in
> 
> Fedora does have /usr/lib/udev/rules.d/64-btrfs.rules but I find no
> reference at all to this rule when the user boots with 'rd.udev.debug
> systemd.log_level=debug'. The entire journal is here:
> 
> https://drive.google.com/file/d/1jVHjAQ8CY9vABtM2giPTB6XeZCclm7R-/view
> 

Educated guess - rule is missing in initrd and you do not run udev
trigger after switch to root.


> I expect a workaround would be to use mount option:
> 
> x-systemd.automount,noauto,nofail,x-systemd.requires=/
> 
> In fact, I'm not sure x-systemd.requires is needed because / must be
> mounted successfully to read /etc/fstab in the first place; in order
> to know to mount this file system at /srv
> 

That makes no sense. You cannot boot without root being present, it is
controlled outside of normal boot sequence.

> Anyway I'm mainly confused why the btrfs udev rule is seemingly not
> applied in this case.
> 



More information about the systemd-devel mailing list