Yep. In the meantime, I suspect it’s possible to use a drop-in dracut configuration file to add the udev rule. Or use the x-systemd.automount mount option in fstab.
So now the BTRFS volume mounts automatically at boot and I can’t seem to make it fail to even when my disks are in funny configurations, split between HBA and direct motherboard connections.
Presumably I will have to do this dracut --add btrfs --force everytime there is a new kernel until dracut is modified to add the minimal btrfs stuff when there is any btrfs filesystem in /etc/fstab not just the root filesystem. Or is the fact that I’ve added the btrfs module once carried forward even though fedora is using dracut --hostonly by default? I guess I will find out!
I have been looking at man dracut and it looks like I can prompt dracut to add the btrfs module by modifying /etc/dracut.conf or creating /etc/dracut.conf.d/myconf.conf. I haven’t done that yet because I want to understand it all a bit better first.
I’m sure the x-systemd.automount option in /etc/fstab would work too.
The other solution coming around the corner is to do a clean install of Fedora 33 and have it’s default btrfs root filesystem solve the problem for me too.