Btrfs ENOSPC Rework Lands For Linux 4.8, Boosts Throughput & Lowers Latency

Written by Michael Larabel in Linux Storage on 31 July 2016 at 10:56 AM EDT. 6 Comments
The Btrfs "enospc-rework" that's been in development for several months by Facebook's Josef Bacik is landing with the Linux 4.8 kernel.

The ENOSPC rework is about reworking the handling for no-space checking/handling by the file-system. The existing code would encounter issues with huge latency spikes, too much being flushed, and not all of the file-system's flushing being asynchronous. The code by Josef Bacik is making use of tickets for reservations of space on the file-system. The new ticket-based reservation approach is explained further by this patch.

Figures posted with earlier versions of these patches show the performance of this new code is faster on throughput and with lower latency, even for an empty Btrfs file-system. See that mailing list post for the details via an fs_mark benchmark for the "bit better latecy and better throughput overall" as a result of this ENOSPC rework.

This code rework has been in testing for a few months now and is the primary Btrfs file-system feature of Linux 4.8. The pull request can be seen here. Chris Mason mentions in this pull request that a Btrfs clean-up pull request will likely be submitted next week.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week