Hi everyone, Christoph and I have been working on getting the long-delayed metadata directory tree patchset into mergeable shape, and I think we're now satisfied that we've gotten the code to where we want it for 6.13. This time around we've included a ton of cleanups and refactorings that Dave requested during the 6.12 cycle, as well as review suggestions from the v5.0 series last week. I'm jumping on a train in a couple of hours, so I'm sending this out again. The metadata directory tree sets us up for much more flexible metadata within an XFS filesystem. Instead of rooting inodes in the superblock which has very limited space, we instead create a directory tree that can contain arbitrary numbers of metadata files. Having done that, we can now shard the realtime volume into multiple allocation groups, much as we do with AGs for the data device. However, the realtime volume has a fun twist -- each rtgroup gets its own space metadata files, and for that we need a metadata directory tree. Note that we also implement busy free(d) extent tracking, which means that we can do discards asynchronously. Metadata directory trees and realtime groups also enable us to complete the realtime modernization project, which will add reverse mapping btrees, reflink, quota support, and zoned storage support for rt volumes. Finally, quota inodes now live in the metadata directory tree, which is a pretty simple conversion. However, we added yet another new feature, which is that xfs will now remember the quota accounting and enforcement state across unmounts. You can still tweak them via mount options, but not specifying any is no longer interpreted the same as 'noquota'. Quotas for the realtime are now supported. I'm only sending the kernel patches to the list for now (for real this time!), but please have a look at the git tree links for xfsprogs and fstests changes. https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/tag/?h=metadir_2024-10-17 https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/tag/?h=metadir_2024-10-17 https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/tag/?h=metadir-quotas_2024-10-17 This is a list of the kernel patches that remain unreviewed: [PATCHSET v5.1 3/9] xfs: metadata inode directory trees [PATCH 03/29] xfs: rename metadata inode predicates [PATCH 04/29] xfs: standardize EXPERIMENTAL warning generation [PATCHSET v5.1 6/9] xfs: shard the realtime section [PATCH 29/34] xfs: make xfs_rtblock_t a segmented address like [PATCHSET v5.1 8/9] xfs: enable quota for realtime volumes [PATCH 2/6] xfs: advertise realtime quota support in the xqm stat --D