mbox series

[GIT,PULL,16/16] xfs: retain ILOCK during directory updates

Message ID 171322719997.141687.18094380315256577049.stg-ugh@frogsfrogsfrogs (mailing list archive)
State New
Headers show
Series [GIT,PULL,01/16] xfs: improve log incompat feature handling | expand

Pull-request

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/retain-ilock-during-dir-ops-6.10_2024-04-15

Message

Darrick J. Wong April 16, 2024, 12:33 a.m. UTC
Hi Chandan,

Please pull this branch with changes for xfs for 6.10-rc1.

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 67bdcd499909708195b9408c106b94250955c5ff:

docs: describe xfs directory tree online fsck (2024-04-15 14:59:01 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/retain-ilock-during-dir-ops-6.10_2024-04-15

for you to fetch changes up to df760471477400ccd3ddcea85d2d6d92f4dad28c:

xfs: unlock new repair tempfiles after creation (2024-04-15 14:59:03 -0700)

----------------------------------------------------------------
xfs: retain ILOCK during directory updates [v13.2 16/16]

This series changes the directory update code to retain the ILOCK on all
files involved in a rename until the end of the operation.  The upcoming
parent pointers patchset applies parent pointers in a separate chained
update from the actual directory update, which is why it is now
necessary to keep the ILOCK instead of dropping it after the first
transaction in the chain.

As a side effect, we no longer need to hold the IOLOCK during an rmapbt
scan of inodes to serialize the scan with ongoing directory updates.

This has been running on the djcloud for months with no problems.  Enjoy!

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

----------------------------------------------------------------
Allison Henderson (5):
xfs: Increase XFS_DEFER_OPS_NR_INODES to 5
xfs: Increase XFS_QM_TRANS_MAXDQS to 5
xfs: Hold inode locks in xfs_ialloc
xfs: Hold inode locks in xfs_trans_alloc_dir
xfs: Hold inode locks in xfs_rename

Darrick J. Wong (2):
xfs: don't pick up IOLOCK during rmapbt repair scan
xfs: unlock new repair tempfiles after creation

fs/xfs/libxfs/xfs_defer.c  |  6 ++-
fs/xfs/libxfs/xfs_defer.h  |  8 +++-
fs/xfs/scrub/rmap_repair.c | 16 +-------
fs/xfs/scrub/tempfile.c    |  2 +
fs/xfs/xfs_dquot.c         | 41 +++++++++++++++++++
fs/xfs/xfs_dquot.h         |  1 +
fs/xfs/xfs_inode.c         | 98 ++++++++++++++++++++++++++++++++++------------
fs/xfs/xfs_inode.h         |  2 +
fs/xfs/xfs_qm.c            |  4 +-
fs/xfs/xfs_qm.h            |  2 +-
fs/xfs/xfs_symlink.c       |  6 ++-
fs/xfs/xfs_trans.c         |  9 ++++-
fs/xfs/xfs_trans_dquot.c   | 15 ++++---
13 files changed, 156 insertions(+), 54 deletions(-)