mbox series

[GIT,PULL,01/16] xfs: improve log incompat feature handling

Message ID 171322715062.141687.8066563993145702698.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/log-incompat-permissions-6.10_2024-04-15

Message

Darrick J. Wong April 16, 2024, 12:27 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 0bbac3facb5d6cc0171c45c9873a2dc96bea9680:

Linux 6.9-rc4 (2024-04-14 13:38:39 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/log-incompat-permissions-6.10_2024-04-15

for you to fetch changes up to 5302a5c8beb21d01b7b8d92cc73b6871bc27d7bf:

xfs: only clear log incompat flags at clean unmount (2024-04-15 14:54:06 -0700)

----------------------------------------------------------------
xfs: improve log incompat feature handling [v30.3 01/16]

This patchset improves the performance of log incompat feature bit
handling by making a few changes to how the filesystem handles them.
First, we now only clear the bits during a clean unmount to reduce calls
to the (expensive) upgrade function to once per bit per mount.  Second,
we now only allow incompat feature upgrades for sysadmins or if the
sysadmin explicitly allows it via mount option.  Currently the only log
incompat user is logged xattrs, which requires CONFIG_XFS_DEBUG=y, so
there should be no user visible impact to this change.

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

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

----------------------------------------------------------------
Darrick J. Wong (5):
xfs: pass xfs_buf lookup flags to xfs_*read_agi
xfs: fix an AGI lock acquisition ordering problem in xrep_dinode_findmode
xfs: fix potential AGI <-> ILOCK ABBA deadlock in xrep_dinode_findmode_walk_directory
xfs: fix error bailout in xrep_abt_build_new_trees
xfs: only clear log incompat flags at clean unmount

.../filesystems/xfs/xfs-online-fsck-design.rst     |  3 --
fs/xfs/libxfs/xfs_ag.c                             |  8 ++--
fs/xfs/libxfs/xfs_ialloc.c                         | 16 ++++---
fs/xfs/libxfs/xfs_ialloc.h                         |  5 ++-
fs/xfs/libxfs/xfs_ialloc_btree.c                   |  4 +-
fs/xfs/scrub/alloc_repair.c                        |  2 +-
fs/xfs/scrub/common.c                              |  4 +-
fs/xfs/scrub/fscounters.c                          |  2 +-
fs/xfs/scrub/inode_repair.c                        | 50 +++++++++++++++++++++-
fs/xfs/scrub/iscan.c                               | 36 +++++++++++++++-
fs/xfs/scrub/iscan.h                               | 15 +++++++
fs/xfs/scrub/repair.c                              |  6 +--
fs/xfs/scrub/trace.h                               | 10 ++++-
fs/xfs/xfs_inode.c                                 |  8 ++--
fs/xfs/xfs_iwalk.c                                 |  4 +-
fs/xfs/xfs_log.c                                   | 28 +-----------
fs/xfs/xfs_log.h                                   |  2 -
fs/xfs/xfs_log_priv.h                              |  3 --
fs/xfs/xfs_log_recover.c                           | 19 +-------
fs/xfs/xfs_mount.c                                 |  8 +++-
fs/xfs/xfs_mount.h                                 |  6 ++-
fs/xfs/xfs_xattr.c                                 | 42 +++---------------
22 files changed, 160 insertions(+), 121 deletions(-)