xfs: repair inode fork block mapping data structures
authorDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:39 +0000 (10:03 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Fri, 15 Dec 2023 18:03:39 +0000 (10:03 -0800)
commit8f71bede8efd820627ac05c19eac2758214bc896
treee4d9e6e6bc22da842aefeb090f1fca5e3ed43ebb
parent66da11280f7ecd77abd999c469efc0dd643f26f5
xfs: repair inode fork block mapping data structures

Use the reverse-mapping btree information to rebuild an inode block map.
Update the btree bulk loading code as necessary to support inode rooted
btrees and fix some bitrot problems.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
17 files changed:
fs/xfs/Makefile
fs/xfs/libxfs/xfs_bmap_btree.c
fs/xfs/libxfs/xfs_bmap_btree.h
fs/xfs/libxfs/xfs_btree_staging.c
fs/xfs/libxfs/xfs_btree_staging.h
fs/xfs/libxfs/xfs_iext_tree.c
fs/xfs/libxfs/xfs_inode_fork.c
fs/xfs/libxfs/xfs_inode_fork.h
fs/xfs/scrub/bmap.c
fs/xfs/scrub/bmap_repair.c [new file with mode: 0644]
fs/xfs/scrub/common.h
fs/xfs/scrub/repair.c
fs/xfs/scrub/repair.h
fs/xfs/scrub/scrub.c
fs/xfs/scrub/trace.h
fs/xfs/xfs_trans.c
fs/xfs/xfs_trans.h