Hi Chandan, Please pull this branch with changes for xfs for 6.10-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 ab97f4b1c030750f2475bf4da8a9554d02206640: xfs: repair AGI unlinked inode bucket lists (2024-04-15 14:58:58 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/inode-repair-improvements-6.10_2024-04-15 for you to fetch changes up to 1a5f6e08d4e379a23da5be974aee50b26a20c5b0: xfs: create subordinate scrub contexts for xchk_metadata_inode_subtype (2024-04-15 14:59:00 -0700) ---------------------------------------------------------------- xfs: inode-related repair fixes [v30.3 13/16] While doing QA of the online fsck code, I made a few observations: First, nobody was checking that the di_onlink field is actually zero; Second, that allocating a temporary file for repairs can fail (and thus bring down the entire fs) if the inode cluster is corrupt; and Third, that file link counts do not pin at ~0U to prevent integer overflows. Fourth, the x{chk,rep}_metadata_inode_fork functions should be subclassing the main scrub context, not modifying the parent's setup willy-nilly. This scattered patchset fixes those three problems. This has been running on the djcloud for months with no problems. Enjoy! Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> ---------------------------------------------------------------- Darrick J. Wong (4): xfs: check unused nlink fields in the ondisk inode xfs: try to avoid allocating from sick inode clusters xfs: pin inodes that would otherwise overflow link count xfs: create subordinate scrub contexts for xchk_metadata_inode_subtype fs/xfs/libxfs/xfs_format.h | 6 ++++ fs/xfs/libxfs/xfs_ialloc.c | 40 ++++++++++++++++++++++++++ fs/xfs/libxfs/xfs_inode_buf.c | 8 ++++++ fs/xfs/scrub/common.c | 23 +++------------ fs/xfs/scrub/dir_repair.c | 11 ++----- fs/xfs/scrub/inode_repair.c | 12 ++++++++ fs/xfs/scrub/nlinks.c | 4 ++- fs/xfs/scrub/nlinks_repair.c | 8 ++---- fs/xfs/scrub/repair.c | 67 +++++++++---------------------------------- fs/xfs/scrub/scrub.c | 63 ++++++++++++++++++++++++++++++++++++++++ fs/xfs/scrub/scrub.h | 11 +++++++ fs/xfs/xfs_inode.c | 33 ++++++++++++++------- 12 files changed, 187 insertions(+), 99 deletions(-)