this is an ugly trap for a raspi 5 nas setup with btrfs: use a different blocksize (ie 4096) than the default when creating the btrfs filesystem on the raspi 5 or in case of an emergency the nas won't be readable by other x86 computers:
mkfs.btrfs -s 4096.
#
computer #
raspi #
btrfs #
filesystem WARNING for Raspberry Pi 5 NAS users: If you use btrfs to set up a Raspberry Pi 5 as a NAS, your filesystem will not be mountable from almost all other machines unless you use mkfs.btrfs -s 4096
.
The Raspberry Pi 5 uses 16K pages by default, and as of today this is the default block size for mkfs.btrfs upstream on such systems. btrfs does not support mounting 16K block size filesystems on x86 machines, or any machine with a 4K page size.
We knew this was going to be a problem for Asahi Linux (which also uses 16K pages), so Fedora ARM64 has long carried a patch to change the default to 4K. Unfortunately, even though we submitted it upstream a long time ago, the btrfs-progs maintainers have chosen not to apply it at this time.
If you format a btrfs filesystem on a Raspberry Pi 5 normally, it will work, but you will be setting yourself up for a terrible disaster recovery scenario: If the Pi ever stops working, you will have to find another one (or an Apple Silicon laptop) to gain access to your data again - and no replacing/upgrading the Pi with any other machine (except a Mac) without a full disk reformat.