[PATCHSET v29.4 07/18] xfs_scrub: scan metadata files in parallel

Darrick J. Wong
2024-03-26T02:56:34Z

Hi all,

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.

If you're going to start using this code, I strongly recommend pulling
from my git trees, which are linked below.

This has been running on the djcloud for months with no problems. Enjoy!
Comments and questions are, as always, welcome.

--D

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=scrub-metafile-parallel
---
Commits in this patchset:
* 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(-)