From Fedora Project Wiki

Revision as of 03:30, 7 September 2020 by Chrismurphy (talk | contribs) (reduce headings for clarity)

Btrfs: the b-tree filesystem

Btrfs is a copy-on-write filesystem for Linux aimed at implementing advanced features including error detection, fault tolerance, recovery, transparent compression, cheap snapshots, integrated volume management, and easy administration. It provides multiple device storage pooling, RAID-like functionality, fast snapshot creation, and checksumming of data and metadata. Contributors include Facebook, Fujitsu, (open)SUSE, Oracle, and Western Digital. Btrfs is licensed under the GPL and open for contribution from anyone.

Upstream Development

Default filesystem, on the desktop

Reporting bugs

  • Bugs related to btrfs user-space commands should be filed against the btrfs-progs component.
  • All other bugs should be filed against the kernel component. Following submission of the bug, please set the Assignee field to: fedora-kernel-btrfs@fedoraproject.org and Save the change.

Installer

  • The Fedora installer, Anaconda, uses Btrfs by default in desktop editions and spins; and as an option in Manual Partitioning for Server, Cloud, and IoT editions. Fedora CoreOS installer, Ignition, also supports Btrfs as an option.
  • The Btrfs partition scheme preset creates an ext4 /boot, and a Btrfs pool. Two subvolumes, root and home, are created from that pool and mounted at / and /home respectively.
  • Additional mount points using Btrfs will also have corresponding subvolumes created based on the Name field. Subvolumes do not have a size, so the Desired Capacity field when creating new mount points is ignored and can be left blank.

Recommended reading

Conversions from Ext3/Ext4 volumes to Btrfs (and back!)

Although Btrfs does not need LVM, if you already are using it then converting your volume does not remove LVM. It also doesn't create the subvolume layout that we're using in Anaconda, and image builders.