[PATCHSET v29.0 25/28] xfs: online fsck of iunlink buckets

Darrick J. Wong
2023-12-31T19:31:53Z

Hi all,

This series enhances the AGI scrub code to check the unlinked inode
bucket lists for errors, and fixes them if necessary. Now that iunlink
pointer updates are virtual log items, we can batch updates pretty
efficiently in the logging code.

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

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

xfsprogs git tree:
https://git.kernel.org/cgit/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=repair-iunlink
---
fs/xfs/scrub/agheader.c | 40 ++
fs/xfs/scrub/agheader_repair.c | 879 ++++++++++++++++++++++++++++++++++++++--
fs/xfs/scrub/agino_bitmap.h | 49 ++
fs/xfs/scrub/trace.h | 255 ++++++++++++
fs/xfs/xfs_inode.c | 2
fs/xfs/xfs_inode.h | 1
6 files changed, 1179 insertions(+), 47 deletions(-)
create mode 100644 fs/xfs/scrub/agino_bitmap.h