Btrfs (B-Tree File System) is a Copy on Write file system for Linux. Copy On Write (COW) is an optimization technique for maintaining a copy of a collection of data, handling resources when multiple tasks are using the same data.
The aim of this journaling file system is to bring more efficient storage management and better data integrity features to Linux.
Btrfs is notable for implementing advanced features whilst maintaining fault tolerance, scalability and reliability. The file system has been in development since 2007 and its code base has now reached a level of maturity that its disk format should not change. The code base is under heavy development.
Btrfs debuted in the Linux 2.6.29 released. Btrfs can handle up to 2 64 inodes, less a few hundred for special items.
Key Features
- Scalable, 64-bit file system that can span large volumes to provide files and file systems as large as 16 exabytes.
- Integrated volume management.
- Online file system defragmentation – defragging can occur while the drive is mounted or online.
- Offline filesystem check.
- Online volume growth and shrinking.
- Online block device addition and removal.
- Online balancing (movement of objects between block devices to balance load).
- Offline filesystem check.
- Uses a B-tree structure to store data types and point to information stored on disk.
- Online data scrubbing for finding errors and automatically fixing them for files with redundant copies.
- Delayed allocation to allow for better disk allocation:
- Space-efficient packing of small files.
-
- Space-efficient indexed directories.
- Subvolumes (separate internal filesystem roots).
- Transparent compression (zlib and LZO).
- Simple to use writable snapshots, read-only snapshots. Snapshots show up as normal directories under the snapshotted directory.
- Send/receive (saving diffs between snapshots to a binary stream).
- Data integrity:
- Built-in RAID support (RAID0, RAID1, RAID5, RAID6 and RAID10). Data scrubbing can be used, particularly with RAID 1.
- Fault isolation and checksum algorithms – fault isolation is achieved by storing metadata separately from user data.
- Checksums on data and all metadata (CRC-32C). Option to turn off data checksumming
- Even on a single device, metadata is duplicated and maintained in two locations for redundancy.
- Rebuild times.
- Encryption.
- File cloning (copy-on-write on individual files, or byte ranges thereof).
- In-place conversion (with rollback) from ext3/4 to Btrfs.
- File system seeding.
- SSD (Flash storage) awareness (TRIM/Discard for reporting free blocks for reuse) and optimizations.
- File Striping, File Mirroring, File Striping+Mirroring, Striping with Single and Dual Parity implementations.
- Hierarchical per-subvolume quota.
- Extent based file storage.
- Provides minimal user tuning to guard against misuse.
Website: btrfs.readthedocs.io
Support:
Developer: Oracle Corporation
License: GNU General Public License
Related Software
| Journaling File Systems | |
|---|---|
| Btrfs | Checksumming Copy on Write File system |
| ext4 | Evolved from ext3 adding many notable features including extents |
| XFS | Designed to maintain high performance with large files and file systems |
| F2FS | Flash file system initially developed by Samsung Electronics |
| OpenZFS | Advanced file system and volume manager originally developed for Solaris |
| GFS2 | Shared disk file system for Linux computer clusters |
| ext3 | Default file system for many popular Linux distributions |
| JFS | Journaled File System |
| UBIFS | File system for raw flash memory used through UBI volumes |
| OCFS2 | Extent-based cluster file system |
| JFFS2 | Log-structured flash file system designed for raw flash memory devices |
| Bcachefs | Advanced file system ejected from the mainline kernel |
| ScoutFS | Clustered file system designed for very large archival storage systems |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.