Archive Manager

Btrfs – Copy on Write file system

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
ext4Evolved from ext3 adding many notable features including extents
XFSDesigned to maintain high performance with large files and file systems
BtrfsChecksumming Copy on Write File system
F2FSFlash file system initially developed by Samsung Electronics
OpenZFSAdvanced file system and volume manager originally developed for Solaris
GFS2Shared disk file system for Linux computer clusters
ext3Default file system for many popular Linux distributions
JFSJournaled File System
UBIFSFile system for raw flash memory used through UBI volumes
OCFS2Extent-based cluster file system
BcachefsAdvanced file system ejected from the mainline kernel

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments