[PATCH 5.10 00/21] Backport of XFS umount hang fixes
From: Siddh Raman Pant
Date: Thu Oct 01 2026 - 11:30:00 EST
Backport of this series:
https://lore.kernel.org/all/20250625224957.1436116-1-david@xxxxxxxxxxxxx/
Along with appropriate pre-requisite commits.
Previous stable backport was used for doing this backport.
I have added information in commit message upon conflict resolutions.
Darrick J. Wong (7):
xfs: hoist recovered bmap intent checks out of xfs_bui_item_recover
xfs: improve the code that checks recovered bmap intent items
xfs: hoist recovered rmap intent checks out of xfs_rui_item_recover
xfs: improve the code that checks recovered rmap intent items
xfs: hoist recovered refcount intent checks out of
xfs_cui_item_recover
xfs: improve the code that checks recovered refcount intent items
xfs: fix intermittent hang during quotacheck
Dave Chinner (13):
xfs: don't nest icloglock inside ic_callback_lock
xfs: convert XLOG_FORCED_SHUTDOWN() to xlog_is_shutdown()
xfs: log items should have a xlog pointer, not a mount
xfs: aborting inodes on shutdown may need buffer lock
xfs: remove xfs_buf_t typedef
xfs: dquot shrinker doesn't check for XFS_DQFLAG_FREEING
xfs: buffer pins need to hold a buffer reference
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
Guo Xuenan (1):
xfs: fix super block buf log item UAF during force shutdown
fs/xfs/libxfs/xfs_alloc.c | 61 ++++--
fs/xfs/libxfs/xfs_bmap.c | 6 +-
fs/xfs/libxfs/xfs_btree.c | 10 +-
fs/xfs/libxfs/xfs_ialloc.c | 38 +++-
fs/xfs/libxfs/xfs_rtbitmap.c | 22 +-
fs/xfs/xfs_bmap_item.c | 76 ++++---
fs/xfs/xfs_buf.c | 79 ++------
fs/xfs/xfs_buf.h | 15 +-
fs/xfs/xfs_buf_item.c | 380 ++++++++++++++++++++++-------------
fs/xfs/xfs_buf_item.h | 3 +-
fs/xfs/xfs_dquot.c | 3 +-
fs/xfs/xfs_dquot_item.c | 5 +-
fs/xfs/xfs_extfree_item.c | 2 +-
fs/xfs/xfs_fsops.c | 2 +-
fs/xfs/xfs_icache.c | 10 +-
fs/xfs/xfs_inode.c | 9 +-
fs/xfs/xfs_inode_item.c | 162 ++++++++++++---
fs/xfs/xfs_inode_item.h | 1 +
fs/xfs/xfs_log.c | 50 ++---
fs/xfs/xfs_log_cil.c | 12 +-
fs/xfs/xfs_log_priv.h | 7 +-
fs/xfs/xfs_log_recover.c | 17 +-
fs/xfs/xfs_qm.c | 88 +++-----
fs/xfs/xfs_refcount_item.c | 60 ++++--
fs/xfs/xfs_rmap_item.c | 75 ++++---
fs/xfs/xfs_rtalloc.c | 20 +-
fs/xfs/xfs_rtalloc.h | 4 +-
fs/xfs/xfs_symlink.c | 4 +-
fs/xfs/xfs_trace.h | 5 +-
fs/xfs/xfs_trans.c | 6 +-
fs/xfs/xfs_trans.h | 3 +-
fs/xfs/xfs_trans_buf.c | 16 +-
32 files changed, 744 insertions(+), 507 deletions(-)
--
2.53.0