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
BtrfsChecksumming Copy on Write File system
ext4Evolved from ext3 adding many notable features including extents
XFSDesigned to maintain high performance with large files and file systems
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
JFFS2Log-structured flash file system designed for raw flash memory devices
BcachefsAdvanced file system ejected from the mainline kernel
ScoutFSClustered file system designed for very large archival storage systems

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted