XFS With Linux 5.19 Brings "Lots Of New Code"

Written by Michael Larabel in Linux Storage on 29 May 2022 at 05:22 AM EDT. 7 Comments
The XFS file-system updates for the Linux 5.19 merge window are on the heavier side with this pull being described as "a big update with lots of new code" abound for this summer 2022 kernel release.

The two shiny new features for XFS in Linux 5.19 are support for Large Extent Counts and Logged Attribute Replay. Both of these features may not sound too exciting for end-users but are to be used for "building more complex future features" moving forward.

Dave Chinner went on to explain this new XFS material for Linux 5.19:
For upcoming functionality, we need to be able to store hundreds of millions of xattrs per inode. The Large Extent Count feature removes the limits that prevent this scale of xattr storage, and while we were modifying the on disk extent count format we also increased the number of data extents we support per inode from 2^32 to 2^47.

We also need to be able to modify xattrs as part of larger atomic transactions rather than as standalone transactions. The Logged Attribute Replay feature introduces the infrastructure that allows us to use intents to record the attribute modifications in the journal before we start them, hence allowing other atomic transactions to log attribute modification intents and then defer the actual modification to later. If we then crash, log recovery then guarantees that the attribute is replayed in the context of the atomic transaction that logged the intent.

A significant chunk of the commits in this merge are for the base attribute replay functionality along with fixes, improvements and cleanups related to this new functionality. Allison deserves a big round of thanks for her ongoing work to get this functionality into XFS.

There are also many other smaller changes and improvements, so overall this is one of the bigger XFS merge requests in some time.

Besides XFS being able to scale beyond four billion data extents and billions of xattrs per inode, there is also improvements to the real-time extent accounting, the rmap btree searches has been improved to reduce overhead by up to 30% and in turn xfs_scrub runtime is lessened by about 15%, and a variety of other improvements. See this Git merge for more details.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com 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 OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week