[PATCHSET v29.0 21/28] xfs: online repair of inode unlinked state

Darrick J. Wong
2023-12-31T19:30:50Z

Hi all,

This series adds some logic to the inode scrubbers so that they can
detect and deal with consistency errors between the link count and the
per-inode unlinked list state. The helpers needed to do this are
presented here because they are a prequisite for rebuildng directories,
since we need to get a rebuilt non-empty directory off the unlinked
list.

Note that this patchset does not provide comprehensive reconstruction of
the AGI unlinked list; that is coming in a subsequent patchset.

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-unlinked-inode-state
---
fs/xfs/scrub/inode.c | 19 ++++++++++++++++++
fs/xfs/scrub/inode_repair.c | 45 ++++++++++++++++++++++++++++++++++++++++++
fs/xfs/scrub/nlinks_repair.c | 42 +++++++++++++++++++++++++++++++--------
fs/xfs/xfs_inode.c | 5 +----
fs/xfs/xfs_inode.h | 2 ++
5 files changed, 100 insertions(+), 13 deletions(-)