FS/XFS testing framework
 help / color / mirror / Atom feed
* [PATCHBOMB 6.13] xfs: metadata directories and realtime groups
@ 2024-10-11  0:24 Darrick J. Wong
  2024-10-11  0:37 ` [PATCHSET v5.0 1/3] fstests: test XFS metadata directories Darrick J. Wong
                   ` (3 more replies)
  0 siblings, 4 replies; 37+ messages in thread
From: Darrick J. Wong @ 2024-10-11  0:24 UTC (permalink / raw)
  To: Carlos Maiolino, Christoph Hellwig; +Cc: linux-xfs, fstests

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.

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, 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-10
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/tag/?h=metadir_2024-10-10
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git/tag/?h=metadir-quotas_2024-10-10

This is a list of the kernel patches that remain unreviewed:

[PATCHSET v5.0 3/9] xfs: metadata inode directory trees
  [PATCH 01/28] xfs: constify the xfs_sb predicates
  [PATCH 02/28] xfs: constify the xfs_inode predicates
  [PATCH 04/28] xfs: undefine the sb_bad_features2 when metadir is
[PATCHSET v5.0 4/9] xfs: create incore rt allocation groups
  [PATCH 08/21] xfs: add a xfs_qm_unmount_rt helper
  [PATCH 09/21] xfs: factor out a xfs_growfs_rt_alloc_blocks helper
  [PATCH 10/21] xfs: cleanup xfs_getfsmap_rtdev_rtbitmap
  [PATCH 11/21] xfs: split xfs_trim_rtdev_extents
[PATCHSET v5.0 5/9] xfs: preparation for realtime allocation groups
  [PATCH 1/2] xfs: fix rt device offset calculations for FITRIM
[PATCHSET v5.0 6/9] xfs: shard the realtime section
  [PATCH 15/36] xfs: store rtgroup information with a bmap intent
  [PATCH 27/36] xfs: create helpers to deal with rounding xfs_fileoff_t
  [PATCH 28/36] xfs: create helpers to deal with rounding xfs_filblks_t
  [PATCH 29/36] xfs: make xfs_rtblock_t a segmented address like
  [PATCH 32/36] xfs: fix minor bug in xfs_verify_agbno
  [PATCH 33/36] xfs: move the min and max group block numbers to
  [PATCH 34/36] xfs: port the perag discard code to handle generic
  [PATCH 35/36] xfs: implement busy extent tracking for rtgroups
  [PATCH 36/36] xfs: use rtgroup busy extent list for FITRIM
[PATCHSET v5.0 8/9] xfs: enable quota for realtime volumes
  [PATCH 1/6] xfs: fix chown with rt quota
  [PATCH 2/6] xfs: advertise realtime quota support in the xqm stat
  [PATCH 3/6] xfs: report realtime block quota limits on realtime
  [PATCH 4/6] xfs: create quota preallocation watermarks for realtime
  [PATCH 5/6] xfs: reserve quota for realtime files correctly
  [PATCH 6/6] xfs: enable realtime quota again

None of the userspace and fstests patches have been reviewed.

--D

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2024-10-15  1:01 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-11  0:24 [PATCHBOMB 6.13] xfs: metadata directories and realtime groups Darrick J. Wong
2024-10-11  0:37 ` [PATCHSET v5.0 1/3] fstests: test XFS metadata directories Darrick J. Wong
2024-10-11  1:38   ` [PATCH 01/11] xfs/122: fix metadirino Darrick J. Wong
2024-10-11  1:38   ` [PATCH 02/11] various: fix finding metadata inode numbers when metadir is enabled Darrick J. Wong
2024-10-11  1:38   ` [PATCH 03/11] xfs/{030,033,178}: forcibly disable metadata directory trees Darrick J. Wong
2024-10-11  1:39   ` [PATCH 04/11] common/repair: patch up repair sb inode value complaints Darrick J. Wong
2024-10-11  1:39   ` [PATCH 05/11] xfs/206: update for metadata directory support Darrick J. Wong
2024-10-11  1:39   ` [PATCH 06/11] xfs/{050,144,153,299,330}: update quota reports to handle metadir trees Darrick J. Wong
2024-10-11  1:39   ` [PATCH 07/11] xfs/509: adjust inumbers accounting for metadata directories Darrick J. Wong
2024-10-11  1:40   ` [PATCH 08/11] xfs/122: adjust " Darrick J. Wong
2024-10-11  1:40   ` [PATCH 09/11] xfs: create fuzz tests " Darrick J. Wong
2024-10-11  1:40   ` [PATCH 10/11] xfs/163: bigger fs for metadir Darrick J. Wong
2024-10-11  1:40   ` [PATCH 11/11] xfs: test metapath repairs Darrick J. Wong
2024-10-11  0:37 ` [PATCHSET v5.0 2/3] xfsprogs: shard the realtime section Darrick J. Wong
2024-10-11  1:41   ` [PATCH 01/16] common/populate: refactor caching of metadumps to a helper Darrick J. Wong
2024-10-11  1:41   ` [PATCH 02/16] common/{fuzzy,populate}: use _scratch_xfs_mdrestore Darrick J. Wong
2024-10-11  1:41   ` [PATCH 03/16] fuzzy: stress data and rt sections of xfs filesystems equally Darrick J. Wong
2024-10-11  1:42   ` [PATCH 04/16] common/ext4: reformat external logs during mdrestore operations Darrick J. Wong
2024-10-11  1:42   ` [PATCH 05/16] common/populate: use metadump v2 format by default for fs metadata snapshots Darrick J. Wong
2024-10-11  1:42   ` [PATCH 06/16] xfs/122: update for rtgroups Darrick J. Wong
2024-10-11  1:42   ` [PATCH 07/16] punch-alternating: detect xfs realtime files with large allocation units Darrick J. Wong
2024-10-11  1:43   ` [PATCH 08/16] xfs/206: update mkfs filtering for rt groups feature Darrick J. Wong
2024-10-11  1:43   ` [PATCH 09/16] common: pass the realtime device to xfs_db when possible Darrick J. Wong
2024-10-11  1:43   ` [PATCH 10/16] xfs/185: update for rtgroups Darrick J. Wong
2024-10-11  1:43   ` [PATCH 11/16] xfs/449: update test to know about xfs_db -R Darrick J. Wong
2024-10-11  1:44   ` [PATCH 12/16] xfs/122: update for rtbitmap headers Darrick J. Wong
2024-10-11  1:44   ` [PATCH 13/16] xfs/271,xfs/556: fix tests to deal with rtgroups output in bmap/fsmap commands Darrick J. Wong
2024-10-11  1:44   ` [PATCH 14/16] common/xfs: capture realtime devices during metadump/mdrestore Darrick J. Wong
2024-10-11  1:44   ` [PATCH 15/16] common/fuzzy: adapt the scrub stress tests to support rtgroups Darrick J. Wong
2024-10-11  1:45   ` [PATCH 16/16] xfs: fix fuzz tests of rtgroups bitmap and summary files Darrick J. Wong
2024-10-11  0:37 ` [PATCHSET v5.0 3/3] fstests: store quota files in the metadir Darrick J. Wong
2024-10-11  1:45   ` [PATCH 1/4] xfs/122: update for segmented rtblock addresses Darrick J. Wong
2024-10-11  1:45   ` [PATCH 2/4] xfs: update tests for quota files in the metadir Darrick J. Wong
2024-10-11  1:45   ` [PATCH 3/4] xfs: test persistent quota flags Darrick J. Wong
2024-10-11  1:46   ` [PATCH 4/4] xfs: fix tests for persistent qflags Darrick J. Wong
2024-10-14  7:50 ` [PATCHBOMB 6.13] xfs: metadata directories and realtime groups Christoph Hellwig
2024-10-15  1:01   ` Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox