[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200409181526.GM6742@magnolia>
Date: Thu, 9 Apr 2020 11:15:26 -0700
From: "Darrick J. Wong" <djwong@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "Darrick J. Wong" <djwong@...nel.org>,
linux-fsdevel@...r.kernel.org, linux-xfs@...r.kernel.org,
david@...morbit.com, linux-kernel@...r.kernel.org,
sandeen@...deen.net, hch@....de
Subject: [GIT PULL] xfs: new code for 5.7, part 2
Hi Linus,
Please pull this second batch of new changes for 5.7. As promised last
week, this batch changes how xfs interacts with memory reclaim; how the
log batches and throttles log items; how hard writes near ENOSPC will
try to squeeze more space out of the filesystem; and hopefully fix the
last of the umount hangs after a catastrophic failure.
This branch merges cleanly with master as of a few minutes ago, so
please let me know if anything strange happens.
--D
The following changes since commit 27fb5a72f50aa770dd38b0478c07acacef97e3e7:
xfs: prohibit fs freezing when using empty transactions (2020-03-26 08:19:24 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.7-merge-12
for you to fetch changes up to 5833112df7e9a306af9af09c60127b92ed723962:
xfs: reflink should force the log out if mounted with wsync (2020-04-06 08:44:39 -0700)
----------------------------------------------------------------
(More) new code for 5.7:
- Validate the realtime geometry in the superblock when mounting
- Refactor a bunch of tricky flag handling in the log code
- Flush the CIL more judiciously so that we don't wait until there are
millions of log items consuming a lot of memory.
- Throttle transaction commits to prevent the xfs frontend from flooding
the CIL with too many log items.
- Account metadata buffers correctly for memory reclaim.
- Mark slabs properly for memory reclaim. These should help reclaim run
more effectively when XFS is using a lot of memory.
- Don't write a garbage log record at unmount time if we're trying to
trigger summary counter recalculation at next mount.
- Don't block the AIL on locked dquot/inode buffers; instead trigger its
backoff mechanism to give the lock holder a chance to finish up.
- Ratelimit writeback flushing when buffered writes encounter ENOSPC.
- Other minor cleanups.
- Make reflink a synchronous operation when the fs is mounted with wsync
or sync, which means that now we force the log to disk to record the
changes.
----------------------------------------------------------------
Brian Foster (3):
xfs: trylock underlying buffer on dquot flush
xfs: return locked status of inode buffer on xfsaild push
xfs: fix inode number overflow in ifree cluster helper
Christoph Hellwig (3):
xfs: split xlog_ticket_done
xfs: factor out a new xfs_log_force_inode helper
xfs: reflink should force the log out if mounted with wsync
Darrick J. Wong (3):
xfs: validate the realtime geometry in xfs_validate_sb_common
xfs: don't write a corrupt unmount record to force summary counter recalc
xfs: ratelimit inode flush on buffered write ENOSPC
Dave Chinner (15):
xfs: don't try to write a start record into every iclog
xfs: re-order initial space accounting checks in xlog_write
xfs: refactor and split xfs_log_done()
xfs: kill XLOG_TIC_INITED
xfs: merge xlog_commit_record with xlog_write_done
xfs: refactor unmount record writing
xfs: remove some stale comments from the log code
xfs: Lower CIL flush limit for large logs
xfs: Throttle commits on delayed background CIL push
xfs: don't allow log IO to be throttled
xfs: Improve metadata buffer reclaim accountability
xfs: correctly acount for reclaimable slabs
xfs: factor common AIL item deletion code
xfs: tail updates only need to occur when LSN changes
xfs: factor inode lookup from xfs_ifree_cluster
Kaixu Xia (2):
xfs: remove unnecessary ternary from xfs_create
xfs: remove redundant variable assignment in xfs_symlink()
fs/xfs/libxfs/xfs_sb.c | 32 +++++
fs/xfs/xfs_buf.c | 11 +-
fs/xfs/xfs_dquot.c | 6 +-
fs/xfs/xfs_dquot_item.c | 3 +-
fs/xfs/xfs_export.c | 14 +-
fs/xfs/xfs_file.c | 16 +--
fs/xfs/xfs_inode.c | 174 +++++++++++++---------
fs/xfs/xfs_inode.h | 1 +
fs/xfs/xfs_inode_item.c | 31 ++--
fs/xfs/xfs_log.c | 372 +++++++++++++++++-------------------------------
fs/xfs/xfs_log.h | 4 -
fs/xfs/xfs_log_cil.c | 55 +++++--
fs/xfs/xfs_log_priv.h | 75 +++++++---
fs/xfs/xfs_mount.h | 1 +
fs/xfs/xfs_qm.c | 14 +-
fs/xfs/xfs_super.c | 17 ++-
fs/xfs/xfs_symlink.c | 1 -
fs/xfs/xfs_trace.h | 15 +-
fs/xfs/xfs_trans.c | 27 ++--
fs/xfs/xfs_trans_ail.c | 88 +++++++-----
fs/xfs/xfs_trans_priv.h | 6 +-
21 files changed, 512 insertions(+), 451 deletions(-)
Powered by blists - more mailing lists