[PATCHSET v2 2/2] xfs: LLM-inspired iunlink repair bug fixes
"Darrick J. Wong" <[email protected]> Sun, 26 Jul 2026 22:22:54 -0700
| Newsgroups | org.kernel.vger.linux-xfs,org.kernel.vger.stable |
|---|---|
| Message-ID | <178512389537.1495075.1621818931849629575.stgit@frogsfrogsfrogs> |
Hi all, These bugfixes got started as part of a series of assorted bug fixes. However, in writing a test case to exercise weird corruption scenarios I discovered a few more fixes, so I decided to collect them all in a targeted series. v2: add rvbs, fix a few minor coding errors, strengthen loop detection If you're going to start using this code, I strongly recommend pulling from my git trees, which are linked below. The remaining unreviewed patches in this series are: [PATCH 08/10] xfs: fix another iunlink infinite loop bug in online [PATCH 10/10] xfs: don't ignore runtime errors in With a bit of luck, this should all go splendidly. 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=llm-fixes-iunlink --- Commits in this patchset: * xfs: hoist per-bucket unlinked list check to helper * xfs: don't livelock in scrub on a circular unlinked list * xfs: don't walk off the end of a null sc->sa.agi_bp in AGI repair * xfs: load next_agino from the correct xfarray in xrep_iunlink_relink_prev * xfs: pass runtime errors from xrep_iunlink_mark_ondisk_rec up to callers * xfs: check xfarray iteration errors when committing unlinked inode lists * xfs: fix allocated inodes that show up in the unlinked list * xfs: fix another iunlink infinite loop bug in online fsck * xfs: set the prev pointer when reinserting an inode on the unlinked list * xfs: don't ignore runtime errors in xrep_iunlink_reload_next --- fs/xfs/scrub/trace.h | 2 fs/xfs/scrub/agheader.c | 94 +++++++++++++++++----- fs/xfs/scrub/agheader_repair.c | 169 +++++++++++++++++++++++++++++++++------- 3 files changed, 213 insertions(+), 52 deletions(-)