[PATCH RESEND 6.12 v2 0/6] Backport of XFS umount hang fixes

From: Siddh Raman Pant

Date: Tue Oct 13 2026 - 05:46:38 EST


Backport of this series:
https://lore.kernel.org/all/20250625224957.1436116-1-david@xxxxxxxxxxxxx/

I have added information in commit message upon conflict resolutions.

v2: Address Sasha's comments to v1 in the below mail:
https://lore.kernel.org/stable/2026-10-01-1-daily-reply-0012-re-xfs-umount-hang-backports@xxxxxxxxxx/

xfstests_xfs testing results:
Generic:
Ran: 001 to 771 (672 tests; gaps)

Failures before changes:
Count: 4
IDs: 633, 696, 697, 753

Failures after changes:
Count: 4
IDs: 633, 696, 697, 753

No new success or failure after changes.

XFS:
Ran: 001 to 789 (311 tests; gaps)

Failures before changes:
Count: 2
IDs: 300, 556

Failures after changes:
Count: 2
IDs: 300, 556

No new success or failure after changes.

Thanks,
Siddh

Dave Chinner (6):
xfs: xfs_ifree_cluster vs xfs_iflush_shutdown_abort deadlock
xfs: catch stale AGF/AGF metadata
xfs: avoid dquot buffer pin deadlock
xfs: rearrange code in xfs_buf_item.c
xfs: factor out stale buffer item completion
xfs: fix unmount hang with unflushable inodes stuck in the AIL

fs/xfs/libxfs/xfs_alloc.c | 41 ++++-
fs/xfs/libxfs/xfs_ialloc.c | 31 +++-
fs/xfs/xfs_buf.c | 55 -------
fs/xfs/xfs_buf.h | 1 -
fs/xfs/xfs_buf_item.c | 297 ++++++++++++++++++++++---------------
fs/xfs/xfs_buf_item.h | 3 +-
fs/xfs/xfs_dquot.c | 4 +-
fs/xfs/xfs_icache.c | 8 +
fs/xfs/xfs_inode.c | 2 +-
fs/xfs/xfs_qm.c | 87 +++--------
fs/xfs/xfs_trace.h | 1 -
11 files changed, 270 insertions(+), 260 deletions(-)

--
2.53.0