XFS Progressing On Defragmenting Free Space - Needed For Online Shrinking
Darrick Wong sent out various patches as he cleaned up his Git tree at the end of the year and a focal point is on getting support for defragmenting free space with this file-system, which in turn is necessary for then being able to support online shrinking of XFS file-systems.
With this work are various XFS kernel driver fixes, better dealing with some workloads that fragment files on XFS very badly, vectorized metadata scrub and repair support, reporting refcount information to user-space, and then finally the work for enabling the defragmenting of free space.
With this work the focus is on clearing space at the end of the file-system before shrinking it and/or clearing free space in anticipation of making a larger allocation. This involves both changes to the XFS kernel driver and then the xfsprogs user-space code.
The kernel changes are currently on the xfs-linux.git's defrag-freespace branch. This work is still in-progress so it's not clear if it will be ready for the v6.3 cycle but in any event it's a work-in-progress and nearing online file-system shrinking support for XFS. It's also this year that XFS is hoping to bring-up online file-system repair support for the mainline kernel.
Wong ended the patch series by commenting, "This is an extraordinary way to destroy everything. Enjoy!"