Interoperability
cgroups
Cgroups are supported for the IO controller, for compressed and uncompressed data. This can be used to limit bandwidth or for accounting. The cgroups can be configured directly or e.g. via systemd directives IOAccounting, IOWeight etc.
See also systemd.resource-control(5).
fsverity
The fs-verity is a support layer that filesystems can hook into to support transparent integrity and authenticity protection of read-only files. This requires a separate management utility fsverity.
The ioctls supported by btrfs:
See also: https://www.kernel.org/doc/html/latest/filesystems/fsverity.html
idmapped mounts
Btrfs supports mount with UID/GID mapped according to another namespace since version 5.15.
See also: https://lwn.net/Articles/837566/
Device mapper, MD-RAID
Btrfs works on top of device mapper (DM) and linux multi-device software RAID (MD-RAID) block devices transparently without any need for additional configuration. There is no integration so device failures are not handled automatically in any way, must be resolved either in btrfs or on the DM/MD layer.
The functionality of DM/MD may duplicate the one provided by btrfs (like mirroring), it’s possible to use it that way but is probably wasteful and may degrade performance. Creating a filesystem on top of the multiplexed device is likely the desired way.
overlayfs
Since kernel 4.15 the btrfs filesystem can be used as lower filesystem for overlayfs (supporting the rename modes of exchange and whiteout).
SELinux
io_uring
NFS
NFS is supported. When exporting a subvolume it is recommended to use the fsid option with a unique id in case the server needs to restart. This is recommended namely when clients use the mount option hard.
Example of server side export:
/mnt/data/subvolume1 192.168.1.2/24(fsid=12345,rw,sync)
/mnt/data/subvolume2 192.168.1.2/24(fsid=23456,rw,sync)
See also exports(5).
Samba
The Samba VFS module btrfs adds support for compression, snapshots and server-side copy (backed by reflink/clone range ioctl).
See also: https://wiki.samba.org/index.php/Server-Side_Copy#Btrfs_Enhanced_Server-Side_Copy_Offload