[GIT PULL 09/11] xfs_scrub: scan metadata files in parallel

Darrick J. Wong
2024-04-17T22:09:41Z

The following changes since commit c02a18733fc0a0e1b607f75e90962b3adc27c8fa:

mkfs: allow sizing internal logs for concurrency (2024-04-17 14:06:27 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git tags/scrub-metafile-parallel-6.8_2024-04-17

for you to fetch changes up to bd35f31ce91bcf5ed9370e94a4a5da89638f37f4:

xfs_scrub: scan whole-fs metadata files in parallel (2024-04-17 14:06:27 -0700)

----------------------------------------------------------------
xfs_scrub: scan metadata files in parallel [v30.3 09/20]

At this point, we need to clean up the libfrog and xfs_scrub code a
little bit. First, correct some of the weird naming and organizing
choices I made in libfrog for scrub types and fs summary counter scans.
Second, break out metadata file scans as a separate group, and teach
xfs_scrub that it can ask the kernel to scan them in parallel. On
filesystems with quota or realtime volumes, this can speed up that part
significantly.

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 (3):
libfrog: rename XFROG_SCRUB_TYPE_* to XFROG_SCRUB_GROUP_*
libfrog: promote XFROG_SCRUB_DESCR_SUMMARY to a scrub type
xfs_scrub: scan whole-fs metadata files in parallel

io/scrub.c | 13 +++---
libfrog/scrub.c | 51 +++++++++++----------
libfrog/scrub.h | 24 ++++------
scrub/phase2.c | 135 ++++++++++++++++++++++++++++++++++++++++++--------------
scrub/phase4.c | 2 +-
scrub/phase7.c | 4 +-
scrub/scrub.c | 75 +++++++++++++++++--------------
scrub/scrub.h | 6 ++-
8 files changed, 194 insertions(+), 116 deletions(-)