Btrfs, the advanced Copy-on-Write (CoW) filesystem, is set to receive significant updates in the upcoming Linux 6.15 kernel. David Sterba from SUSE has submitted an extensive series of improvements, bringing faster compression options, improved performance, and refinements aimed at stability and scalability.

One of the standout features of this release is the introduction of fast and realtime Zstd compression levels, ranging from -1 to -15. Users can now prioritize speed over compression ratio using mount options like compress=zstd:-5. Benchmarks indicate that this approach reduces decompression times by up to 5%, with improvements of over 15% in highly compressed files when using musl libc environments.

Additionally, the defrag ioctl has been updated to accept these negative compression levels, further enhancing flexibility for system administrators managing fragmented data.

Another critical change allows Btrfs to fall back to buffered writes when direct I/O is attempted on files requiring checksums. While this may slightly impact performance, it prevents checksum mismatch errors, which are particularly relevant for virtual machine disk images.

The subpage mode, which supports efficient metadata handling on architectures with 4K pages, is now considered complete and stable, with all warning messages removed in this release.

Performance optimizations include:

  • Enhanced file path caching in the send process, improving runtime by up to 30% for certain workloads.
  • Improved encoded read paths that avoid memory allocations in synchronous mode.
  • Better hardware acceleration utilization on s390x systems with hardware-supported zlib compression.

Internally, Btrfs has undergone:

  • API improvements for large folio support.
  • Refactored code for cleaner memory management.
  • Better handling of block group reference counts.
  • Optimized delayed I/O and inode cleanup processes.
  • Preparations for supporting larger block sizes in future kernel versions.

All these updates are available in the official Linux repository under the for-6.15-tag.


Comparative Table: Btrfs vs. EXT4

FeatureBtrfsEXT4
TypeCopy-on-Write (CoW) filesystem with advanced featuresTraditional journaling filesystem
CompressionNative support for transparent compression (Zstd, LZO, Zlib)No native compression support
SnapshotsBuilt-in support for snapshots and subvolumesNot natively supported (requires LVM or external tools)
RAID supportNative RAID 0, 1, 10, 5, 6 (with some caveats)Not supported natively
Data integrityChecksumming of data and metadata, automatic detection of corruptionJournaling only for metadata, no data checksum
ScalabilitySupports very large files and volumes (up to exabytes)Supports volumes up to 1 exabyte, files up to 16 TB
PerformanceSlightly lower in sequential workloads, excels in complex and mixed operationsExcellent performance in sequential reads/writes
DefragmentationOnline defragmentation support with compression optimizationOnline defragmentation available but without compression awareness
Filesystem repairBuilt-in repair tools, though still considered less matureMature and stable fsck repair tools
SubvolumesSupported, allowing flexible layouts within a single filesystemNot supported
Filesystem resizingSupports online resizing (both grow and shrink)Supports online grow; shrink only offline
Stability and maturityConsidered stable for most use cases, actively developed but complex features can have bugsVery mature and stable, default in many distributions
Best use casesComplex enterprise setups, data integrity-critical systems, virtual machines, and backup serversDesktops, servers requiring maximum stability and predictable performance
Scroll to Top