[PATCHSET v29.0 29/40] xfs_scrub: use scrub_item to track check progress

Darrick J. Wong
2023-12-31T19:47:15Z

Hi all,

Now that we've introduced tickets to track the status of repairs to a
specific principal XFS object (fs, ag, file), use them to track the
scrub state of those same objects. Ultimately, we want to make it easy
to introduce vectorized repair, where we send a batch of repair requests
to the kernel instead of making millions of ioctl calls. For now,
however, we'll settle for easier bookkeepping.

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-object-tracking
---
scrub/phase1.c | 3
scrub/phase2.c | 12 +-
scrub/phase3.c | 41 ++----
scrub/phase4.c | 16 +-
scrub/phase5.c | 5 -
scrub/phase7.c | 5 +
scrub/repair.c | 71 +++++------
scrub/scrub.c | 321 ++++++++++++++++++++++---------------------------
scrub/scrub.h | 40 ++++--
scrub/scrub_private.h | 14 ++
10 files changed, 257 insertions(+), 271 deletions(-)