mbox series

[GIT,PULL,4/8] xfs: fix EFI recovery livelocks

Message ID 169454023440.3411463.13931736328799093212.stg-ugh@frogsfrogsfrogs (mailing list archive)
State Deferred, archived
Headers show
Series [GIT,PULL,1/8] xfs: fix fsmap cursor handling | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/fix-efi-recovery-6.6_2023-09-12

Message

Darrick J. Wong Sept. 12, 2023, 5:39 p.m. UTC
Hi Chandan,

Please pull this branch with changes.

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 74ad4693b6473950e971b3dc525b5ee7570e05d0:

xfs: fix log recovery when unknown rocompat bits are set (2023-09-12 10:31:07 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/fix-efi-recovery-6.6_2023-09-12

for you to fetch changes up to 3c919b0910906cc69d76dea214776f0eac73358b:

xfs: reserve less log space when recovering log intent items (2023-09-12 10:31:07 -0700)

----------------------------------------------------------------
xfs: fix EFI recovery livelocks
This series fixes a customer-reported transaction reservation bug
introduced ten years ago that could result in livelocks during log
recovery.  Log intent item recovery single-steps each step of a deferred
op chain, which means that each step only needs to allocate one
transaction's worth of space in the log, not an entire chain all at
once.  This single-stepping is critical to unpinning the log tail since
there's nobody else to do it for us.

This has been lightly tested with fstests.  Enjoy!

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (1):
xfs: reserve less log space when recovering log intent items

fs/xfs/libxfs/xfs_log_recover.h | 22 ++++++++++++++++++++++
fs/xfs/xfs_attr_item.c          |  7 ++++---
fs/xfs/xfs_bmap_item.c          |  4 +++-
fs/xfs/xfs_extfree_item.c       |  4 +++-
fs/xfs/xfs_refcount_item.c      |  6 ++++--
fs/xfs/xfs_rmap_item.c          |  6 ++++--
6 files changed, 40 insertions(+), 9 deletions(-)