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 mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. 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 | 39 ++---- 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, 258 insertions(+), 268 deletions(-)