mbox series

[GIT,PULL,05/10] fstests: shard the realtime section

Message ID 174008901793.1712746.16151411627153146701.stg-ugh@frogsfrogsfrogs (mailing list archive)
State New
Headers show
Series [GIT,PULL,01/10] fstests: more random fixes for v2025.02.16 | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git tags/realtime-groups_2025-02-20

Message

Darrick J. Wong Feb. 20, 2025, 10:05 p.m. UTC
Hi Zorro,

Please pull this branch with changes for fstests.

As usual, I did a test-merge with the main upstream branch as of a few
minutes ago, and didn't see any conflicts.  Please let me know if you
encounter any problems.

--D

The following changes since commit 915630e294582b91658e300b2302129d77f36504:

fstests: test mkfs.xfs protofiles with xattr support (2025-02-20 13:52:18 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfstests-dev.git tags/realtime-groups_2025-02-20

for you to fetch changes up to 153e2550b7bf4b0ebb3c6d0e1757a6709858a0b0:

xfs: fix fuzz tests of rtgroups bitmap and summary files (2025-02-20 13:52:19 -0800)

----------------------------------------------------------------
fstests: shard the realtime section [v6.5 05/22]

Right now, the realtime section uses a single pair of metadata inodes to
store the free space information.  This presents a scalability problem
since every thread trying to allocate or free rt extents have to lock
these files.  It would be very useful if we could begin to tackle these
problems by sharding the realtime section, so create the notion of
realtime groups, which are similar to allocation groups on the data
section.

While we're at it, define a superblock to be stamped into the start of
each rt section.  This enables utilities such as blkid to identify block
devices containing realtime sections, and helpfully avoids the situation
where a file extent can cross an rtgroup boundary.

The best advantage for rtgroups will become evident later when we get to
adding rmap and reflink to the realtime volume, since the geometry
constraints are the same for rt groups and AGs.  Hence we can reuse all
that code directly.

This has been running on the djcloud for months with no problems.  Enjoy!

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (15):
common/populate: refactor caching of metadumps to a helper
common/{fuzzy,populate}: use _scratch_xfs_mdrestore
fuzzy: stress data and rt sections of xfs filesystems equally
fuzzy: run fsx on data and rt sections of xfs filesystems equally
common/ext4: reformat external logs during mdrestore operations
common/populate: use metadump v2 format by default for fs metadata snapshots
punch-alternating: detect xfs realtime files with large allocation units
xfs/206: update mkfs filtering for rt groups feature
common: pass the realtime device to xfs_db when possible
xfs/185: update for rtgroups
xfs/449: update test to know about xfs_db -R
xfs/271,xfs/556: fix tests to deal with rtgroups output in bmap/fsmap commands
common/xfs: capture realtime devices during metadump/mdrestore
common/fuzzy: adapt the scrub stress tests to support rtgroups
xfs: fix fuzz tests of rtgroups bitmap and summary files

common/ext4             |  17 +++++-
common/fuzzy            | 138 ++++++++++++++++++++++++++++++++++++------------
common/metadump         |  22 ++++++--
common/populate         |  85 ++++++++++++++++-------------
common/xfs              |  87 +++++++++++++++++++++++++++---
src/punch-alternating.c |  28 +++++++++-
tests/xfs/114           |   4 ++
tests/xfs/146           |   2 +-
tests/xfs/185           |  65 +++++++++++++++++------
tests/xfs/187           |   3 +-
tests/xfs/206           |   1 +
tests/xfs/271           |   4 +-
tests/xfs/341           |   4 +-
tests/xfs/449           |   6 ++-
tests/xfs/556           |  16 +++---
tests/xfs/581           |   9 +++-
tests/xfs/582           |  14 ++---
tests/xfs/720           |   2 +-
tests/xfs/739           |   6 ++-
tests/xfs/740           |   6 ++-
tests/xfs/741           |   6 ++-
tests/xfs/742           |   6 ++-
tests/xfs/743           |   6 ++-
tests/xfs/744           |   6 ++-
tests/xfs/745           |   6 ++-
tests/xfs/746           |   6 ++-
tests/xfs/793           |  14 ++---
tests/xfs/795           |   2 +-
28 files changed, 436 insertions(+), 135 deletions(-)