btrfs ("B-tree filesystem", often pronounced "butter FS") is a copy-on-write filesystem for Linux, designed to provide features that ext4 lacks: snapshots, subvolumes, checksummed data and metadata, transparent compression, integrated multi-device support with RAID, and online resizing. It merged into the mainline kernel in 2009 and has been steadily developed since.
Key concepts:
- Subvolumes — independently mountable trees, often used to separate
/,/home, and/varso each can be snapshotted independently. - Snapshots — instant, copy-on-write copies of a subvolume. Tools like Snapper and Timeshift use them for rollback after updates.
- Checksums — every block has a CRC32 (or more modern) checksum, so silent data corruption is detected on read.
- Send/receive — incremental snapshot transfer, useful for backups.
Btrfs is the default on openSUSE and Fedora Workstation, and widely used where rollback matters. Its historical reputation for RAID-5/6 instability lingers: for parity RAID, zfs or dedicated RAID hardware remain safer. For single-disk or RAID-1 setups with snapshots, btrfs is excellent. Day-to-day commands include btrfs subvolume create, btrfs subvolume snapshot, btrfs filesystem usage, and btrfs scrub.
Also defined in: Textbook of Linux