Hi Chandan, Please pull this branch with changes for xfs for 6.8-rc1. As usual, I did a test-merge with the main upstream branch as of a few minutes ago, and didn't see any conflicts. Please let me know if you encounter any problems. --D The following changes since commit 9099cd38002f8029c9a1da08e6832d1cd18e8451: xfs: repair refcount btrees (2023-12-15 10:03:33 -0800) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/repair-inodes-6.8_2023-12-15 for you to fetch changes up to c3a22c2e4b45fcf3184e7dd1c755e6b45dc9f499: xfs: skip the rmapbt search on an empty attr fork unless we know it was zapped (2023-12-15 10:03:38 -0800) ---------------------------------------------------------------- xfs: online repair of inodes and forks [v28.3] In this series, online repair gains the ability to repair inode records. To do this, we must repair the ondisk inode and fork information enough to pass the iget verifiers and hence make the inode igettable again. Once that's done, we can perform higher level repairs on the incore inode. The fstests counterpart of this patchset implements stress testing of repair. This has been running on the djcloud for months with no problems. Enjoy! Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> ---------------------------------------------------------------- Darrick J. Wong (9): xfs: disable online repair quota helpers when quota not enabled xfs: try to attach dquots to files before repairing them xfs: add missing nrext64 inode flag check to scrub xfs: dont cast to char * for XFS_DFORK_*PTR macros xfs: set inode sick state flags when we zap either ondisk fork xfs: repair inode records xfs: zap broken inode forks xfs: abort directory parent scrub scans if we encounter a zapped directory xfs: skip the rmapbt search on an empty attr fork unless we know it was zapped fs/xfs/Makefile | 1 + fs/xfs/libxfs/xfs_attr_leaf.c | 13 +- fs/xfs/libxfs/xfs_attr_leaf.h | 3 +- fs/xfs/libxfs/xfs_bmap.c | 22 +- fs/xfs/libxfs/xfs_bmap.h | 2 + fs/xfs/libxfs/xfs_dir2_priv.h | 3 +- fs/xfs/libxfs/xfs_dir2_sf.c | 13 +- fs/xfs/libxfs/xfs_format.h | 2 +- fs/xfs/libxfs/xfs_health.h | 10 + fs/xfs/libxfs/xfs_inode_fork.c | 33 +- fs/xfs/libxfs/xfs_shared.h | 2 +- fs/xfs/libxfs/xfs_symlink_remote.c | 8 +- fs/xfs/scrub/bmap.c | 144 +++- fs/xfs/scrub/common.c | 28 + fs/xfs/scrub/common.h | 8 + fs/xfs/scrub/dir.c | 42 +- fs/xfs/scrub/health.c | 32 + fs/xfs/scrub/health.h | 2 + fs/xfs/scrub/inode.c | 16 +- fs/xfs/scrub/inode_repair.c | 1525 ++++++++++++++++++++++++++++++++++++ fs/xfs/scrub/parent.c | 17 + fs/xfs/scrub/repair.c | 57 +- fs/xfs/scrub/repair.h | 29 + fs/xfs/scrub/rtbitmap.c | 4 + fs/xfs/scrub/rtsummary.c | 4 + fs/xfs/scrub/scrub.c | 2 +- fs/xfs/scrub/symlink.c | 20 +- fs/xfs/scrub/trace.h | 171 ++++ fs/xfs/xfs_dir2_readdir.c | 3 + fs/xfs/xfs_health.c | 8 +- fs/xfs/xfs_inode.c | 35 + fs/xfs/xfs_inode.h | 2 + fs/xfs/xfs_symlink.c | 3 + fs/xfs/xfs_xattr.c | 6 + 34 files changed, 2185 insertions(+), 85 deletions(-) create mode 100644 fs/xfs/scrub/inode_repair.c