]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: enable metadata directory feature
authorDarrick J. Wong <djwong@kernel.org>
Mon, 4 Nov 2024 04:19:43 +0000 (20:19 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 5 Nov 2024 21:38:46 +0000 (13:38 -0800)
Enable the metadata directory feature.  With this feature, all metadata
inodes are placed in the metadata directory, and the only inumbers in
the superblock are the roots of the two directory trees.

The RT device is now sharded into a number of rtgroups, where 0 rtgroups
mean that no RT extents are supported, and the traditional XFS stub RT
bitmap and summary inodes don't exist.  A single rtgroup gives roughly
identical behavior to the traditional RT setup, but now with checksummed
and self identifying free space metadata.

For quota, the quota options are read from the superblock unless
explicitly overridden via mount options.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_format.h

index d6c10855ab023b14ee031dc8b87cce0b64f62617..4d47a3e723aa13c4be9f01628397d79fda2b8d9d 100644 (file)
@@ -403,7 +403,8 @@ xfs_sb_has_ro_compat_feature(
                 XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR | \
                 XFS_SB_FEAT_INCOMPAT_NREXT64 | \
                 XFS_SB_FEAT_INCOMPAT_EXCHRANGE | \
-                XFS_SB_FEAT_INCOMPAT_PARENT)
+                XFS_SB_FEAT_INCOMPAT_PARENT | \
+                XFS_SB_FEAT_INCOMPAT_METADIR)
 
 #define XFS_SB_FEAT_INCOMPAT_UNKNOWN   ~XFS_SB_FEAT_INCOMPAT_ALL
 static inline bool