[PATCHSET v26.0 0/4] xfs: online scrubbing of realtime summary files

Darrick J. Wong
2023-07-27T22:19:39Z

Hi all,

This patchset implements an online checker for the realtime summary
file. The first few changes are some general cleanups -- scrub should
get its own references to all inodes, and we also wrap the inode lock
functions so that we can standardize unlocking and releasing inodes that
are the focus of a scrub.

With that out of the way, we move on to constructing a shadow copy of
the rtsummary information from the rtbitmap, and compare the new copy
against the ondisk copy.

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

kernel git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=scrub-rtsummary

fstests git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfstests-dev.git/log/?h=scrub-rtsummary
---
fs/xfs/Makefile | 7 +
fs/xfs/scrub/bmap.c | 9 +-
fs/xfs/scrub/common.c | 63 +++++++++--
fs/xfs/scrub/common.h | 24 ++++
fs/xfs/scrub/inode.c | 11 +-
fs/xfs/scrub/parent.c | 4 -
fs/xfs/scrub/quota.c | 15 +--
fs/xfs/scrub/rtbitmap.c | 48 +-------
fs/xfs/scrub/rtsummary.c | 264 ++++++++++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/scrub.c | 17 ++-
fs/xfs/scrub/scrub.h | 4 +
fs/xfs/scrub/trace.h | 34 ++++++
fs/xfs/xfs_trace.h | 3 +
13 files changed, 421 insertions(+), 82 deletions(-)
create mode 100644 fs/xfs/scrub/rtsummary.c