It’s against Debian and Ubuntu packaging policies for a package (in this case LXD) to alter configuration files from other packages (like /etc/fstab).
/etc/fstab is generated by the system installer and then modified by hand by the user. So that’s not a great fit for LXD.
Other software that also need additional auto-mount seems to be using systemd mount units, though we’ve also been trying to stay away from such direct ties to systemd in LXD so far as not all distributions that ship LXD are using it as their init system.
So yes, when LXD manages your storage pools (LXD 2.9 or higher), it will mount them as needed after creation and on subsequent LXD startups. Allowing to pass additional mount options through pool configuration seems reasonable to me.
@brauner I think this should be btrfs.mount_options or something along those lines as I believe it’s the only storage backend which would have pool-level mount options. ZFS doesn’t really use mount flags and has per-filesystem mounts, LVM doesn’t have pool mount options and we have a config key for LV mount options already. Am I missing something?