diff options
| author | Darrick J. Wong <djwong@kernel.org> | 2026-07-26 22:26:21 -0700 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-08-03 10:20:43 +0200 |
| commit | 6d67c6b99f1fc07c64b97fcbc974c6f1ada7f622 (patch) | |
| tree | b25904f6f7415c6f4db94e1ee4709e08d4c9db6e /tools/perf/scripts/python | |
| parent | 68ab37650ce5195b4f4f8466444a36a78207840c (diff) | |
xfs: fix another iunlink infinite loop bug in online fsck
xrep_iunlink_resolve_bucket is supposed to reconstruct as much of the
incore prev and next unlinked list pointers based on what it finds on
disk and in memory before we move on to relinking the truly lost inodes
back into the unlinked list. However, it's still vulnerable to infinite
loops that come in via the next_unlinked pointers.
Fix this problem by remembering which inodes we've already seen and
checking new agino pointers against that. If a bit is already set,
either this is a loop or the inode has nonzero link count. We'll deal
with the second case in a subsequent patch.
Cc: stable@vger.kernel.org # v6.10
Fixes: ab97f4b1c03075 ("xfs: repair AGI unlinked inode bucket lists")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
