Merge tag 'xfs-5.7-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs updates from Darrick Wong:
 "There's a lot going on this cycle with cleanups in the log code, the
  btree code, and the xattr code.
  We're tightening of metadata validation and online fsck checking, and
  introducing a common btree rebuilding library so that we can refactor
  xfs_repair and introduce online repair in a future cycle.
  We also fixed a few visible bugs -- most notably there's one in
  getdents that we introduced in 5.6; and a fix for hangs when disabling
  quotas.
  This series has been running fstests & other QA in the background for
  over a week and looks good so far.
  I anticipate sending a second pull request next week. That batch will
  change 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. That should ease a lot of
  problems when running at the limits, but for now I'm leaving that in
  for-next for another week to make sure we got all the subtleties
  right.
  Summary:
   - Fix a hard to trigger race between iclog error checking and log
     shutdown.
   - Strengthen the AGF verifier.
   - Ratelimit some of the more spammy error messages.
   - Remove the icdinode uid/gid members and just use the ones in the
     vfs inode.
   - Hold ILOCK across insert/collapse range.
   - Clean up the extended attribute interfaces.
   - Clean up the attr flags mess.
   - Restore PF_MEMALLOC after exiting xfsaild thread to avoid
     triggering warnings in the process accounting code.
   - Remove the flexibly-sized array from struct xfs_agfl to eliminate
     compiler warnings about unaligned pointers and packed structures.
   - Various macro and typedef removals.
   - Stale metadata buffers if we decide they're corrupt outside of a
     verifier.
   - Check directory data/block/free block owners.
   - Fix a UAF when aborting inactivation of a corrupt xattr fork.
   - Teach online scrub to report failed directory and attr name lookups
     as a metadata corruption instead of a runtime error.
   - Avoid potential buffer overflows in sysfs files by using scnprintf.
   - Fix a regression in getdents lookups due to a mistake in pointer
     arithmetic.
   - Refactor btree cursor private data structures to use anonymous
     unions.
   - Cleanups in the log unmounting code.
   - Fix a potential mishandling of ENOMEM errors on multi-block
     directory buffer lookups.
   - Fix an incorrect test in the block allocation code.
   - Cleanups and name prefix shortening in the scrub code.
   - Introduce btree bulk loading code for online repair and scrub.
   - Fix a quotaoff log item leak (and hang) when the fs goes down
     midway through a quotaoff operation.
   - Remove di_version from the incore inode.
   - Refactor some of the log shutdown checking code.
   - Record the forcing of the log unmount records in the log force
     counters.
   - Fix a longstanding bug where quotacheck would purge the
     administrator's default quota grace interval and warning limits.
   - Reduce memory usage when scrubbing directory and xattr trees.
   - Don't let fsfreeze race with GETFSMAP or online scrub.
   - Handle bio_add_page failures more gracefully in xlog_write_iclog"
* tag 'xfs-5.7-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (108 commits)
  xfs: prohibit fs freezing when using empty transactions
  xfs: shutdown on failure to add page to log bio
  xfs: directory bestfree check should release buffers
  xfs: drop all altpath buffers at the end of the sibling check
  xfs: preserve default grace interval during quotacheck
  xfs: remove xlog_state_want_sync
  xfs: move the ioerror check out of xlog_state_clean_iclog
  xfs: refactor xlog_state_clean_iclog
  xfs: remove the aborted parameter to xlog_state_done_syncing
  xfs: simplify log shutdown checking in xfs_log_release_iclog
  xfs: simplify the xfs_log_release_iclog calling convention
  xfs: factor out a xlog_wait_on_iclog helper
  xfs: merge xlog_cil_push into xlog_cil_push_work
  xfs: remove the di_version field from struct icdinode
  xfs: simplify a check in xfs_ioctl_setattr_check_cowextsize
  xfs: simplify di_flags2 inheritance in xfs_ialloc
  xfs: only check the superblock version for dinode size calculation
  xfs: add a new xfs_sb_version_has_v3inode helper
  xfs: fix unmount hang and memory leak on shutdown during quotaoff
  xfs: factor out quotaoff intent AIL removal and memory free
  ...
Loading
Please sign in to comment