[GIT PULL] xfs: new code for 6.11

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Please pull this branch with changes for XFS for 6.11-rc1.

Major changes in this release are limited to enabling FITRIM on realtime
devices and Byte-based grant head log reservation tracking. The remaining
changes are limited to fixes and cleanups included in this pull request.

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.

The following changes since commit 22a40d14b572deb80c0648557f4bd502d7e83826:

  Linux 6.10-rc6 (2024-06-30 14:40:44 -0700)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-6.11-merge-3

for you to fetch changes up to 2bf6e353542d233486195953dc9c346331f82dcb:

  xfs: fix rtalloc rotoring when delalloc is in use (2024-07-09 09:08:28 +0530)

----------------------------------------------------------------
New code for 6.11:

  * Enable FITRIM on the realtime device.
  * Introduce byte-based grant head log reservation tracking instead of
    physical log location tracking.
    This allows grant head to track a full 64 bit bytes space and hence
    overcome the limit of 4GB indexing that has been present until now.
  * Fixes
    - xfs_flush_unmap_range() and xfs_prepare_shift() should consider RT extents
      in the flush unmap range.
    - Implement bounds check when traversing log operations during log replay.
    - Prevent out of bounds access when traversing a directory data block.
    - Prevent incorrect ENOSPC when concurrently performing file creation and
      file writes.
    - Fix rtalloc rotoring when delalloc is in use
  * Cleanups
    - Clean up I/O path inode locking helpers and the page fault handler.
    - xfs: hoist inode operations to libxfs in anticipation of the metadata
      inode directory feature, which maintains a directory tree of metadata
      inodes. This will be necessary for further enhancements to the realtime
      feature, subvolume support.
    - Clean up some warts in the extent freeing log intent code.
    - Clean up the refcount and rmap intent code before adding support for
      realtime devices.
    - Provide the correct email address for sysfs ABI documentation.

Signed-off-by: Chandan Babu R <chandanbabu@xxxxxxxxxx>

----------------------------------------------------------------
Chandan Babu R (4):
      Merge tag 'inode-refactor-6.11_2024-07-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.11-mergeB
      Merge tag 'extfree-intent-cleanups-6.11_2024-07-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.11-mergeB
      Merge tag 'rmap-intent-cleanups-6.11_2024-07-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.11-mergeB
      Merge tag 'refcount-intent-cleanups-6.11_2024-07-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.11-mergeB

Christoph Hellwig (18):
      xfs: move the dio write relocking out of xfs_ilock_for_iomap
      xfs: cleanup xfs_ilock_iocb_for_write
      xfs: simplify xfs_dax_fault
      xfs: refactor __xfs_filemap_fault
      xfs: always take XFS_MMAPLOCK shared in xfs_dax_read_fault
      xfs: fold xfs_ilock_for_write_fault into xfs_write_fault
      xfs: pass the fsbno to xfs_perag_intent_get
      xfs: add a xefi_entry helper
      xfs: reuse xfs_extent_free_cancel_item
      xfs: factor out a xfs_efd_add_extent helper
      xfs: remove duplicate asserts in xfs_defer_extent_free
      xfs: remove xfs_defer_agfl_block
      xfs: add a ri_entry helper
      xfs: reuse xfs_rmap_update_cancel_item
      xfs: don't bother calling xfs_rmap_finish_one_cleanup in xfs_rmap_finish_one
      xfs: simplify usage of the rcur local variable in xfs_rmap_finish_one
      xfs: fix the contact address for the sysfs ABI documentation
      xfs: fix rtalloc rotoring when delalloc is in use

Darrick J. Wong (44):
      xfs: enable FITRIM on the realtime device
      xfs: verify buffer, inode, and dquot items every tx commit
      xfs: use consistent uid/gid when grabbing dquots for inodes
      xfs: move inode copy-on-write predicates to xfs_inode.[ch]
      xfs: hoist extent size helpers to libxfs
      xfs: hoist inode flag conversion functions to libxfs
      xfs: hoist project id get/set functions to libxfs
      xfs: pack icreate initialization parameters into a separate structure
      xfs: implement atime updates in xfs_trans_ichgtime
      xfs: use xfs_trans_ichgtime to set times when allocating inode
      xfs: split new inode creation into two pieces
      xfs: hoist new inode initialization functions to libxfs
      xfs: push xfs_icreate_args creation out of xfs_create*
      xfs: wrap inode creation dqalloc calls
      xfs: hoist xfs_iunlink to libxfs
      xfs: hoist xfs_{bump,drop}link to libxfs
      xfs: separate the icreate logic around INIT_XATTRS
      xfs: create libxfs helper to link a new inode into a directory
      xfs: create libxfs helper to link an existing inode into a directory
      xfs: hoist inode free function to libxfs
      xfs: create libxfs helper to remove an existing inode/name from a directory
      xfs: create libxfs helper to exchange two directory entries
      xfs: create libxfs helper to rename two directory entries
      xfs: move dirent update hooks to xfs_dir2.c
      xfs: get rid of trivial rename helpers
      xfs: don't use the incore struct xfs_sb for offsets into struct xfs_dsb
      xfs: clean up extent free log intent item tracepoint callsites
      xfs: convert "skip_discard" to a proper flags bitset
      xfs: give rmap btree cursor error tracepoints their own class
      xfs: pass btree cursors to rmap btree tracepoints
      xfs: clean up rmap log intent item tracepoint callsites
      xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c
      xfs: remove xfs_trans_set_rmap_flags
      xfs: give refcount btree cursor error tracepoints their own class
      xfs: create specialized classes for refcount tracepoints
      xfs: pass btree cursors to refcount btree tracepoints
      xfs: move xfs_rmap_update_defer_add to xfs_rmap_item.c
      xfs: clean up refcount log intent item tracepoint callsites
      xfs: remove xfs_trans_set_refcount_flags
      xfs: add a ci_entry helper
      xfs: reuse xfs_refcount_update_cancel_item
      xfs: don't bother calling xfs_refcount_finish_one_cleanup in xfs_refcount_finish_one
      xfs: simplify usage of the rcur local variable in xfs_refcount_finish_one
      xfs: move xfs_refcount_update_defer_add to xfs_refcount_item.c

Dave Chinner (10):
      xfs: move and rename xfs_trans_committed_bulk
      xfs: AIL doesn't need manual pushing
      xfs: background AIL push should target physical space
      xfs: ensure log tail is always up to date
      xfs: l_last_sync_lsn is really AIL state
      xfs: collapse xlog_state_set_callback in caller
      xfs: track log space pinned by the AIL
      xfs: pass the full grant head to accounting functions
      xfs: grant heads track byte counts, not LSNs
      xfs: skip flushing log items during push

Gao Xiang (1):
      xfs: avoid redundant AGFL buffer invalidation

John Garry (2):
      xfs: Fix xfs_flush_unmap_range() range for RT
      xfs: Fix xfs_prepare_shift() range for RT

Long Li (1):
      xfs: get rid of xfs_ag_resv_rmapbt_alloc

Wenchao Hao (1):
      xfs: Remove header files which are included more than once

Zizhi Wo (1):
      xfs: Avoid races with cnt_btree lastrec updates

lei lu (2):
      xfs: add bounds checking to xlog_recover_process_data
      xfs: don't walk off the end of a directory data block

 Documentation/ABI/testing/sysfs-fs-xfs |   26 +-
 fs/xfs/Kconfig                         |   12 +
 fs/xfs/Makefile                        |    1 +
 fs/xfs/libxfs/xfs_ag.c                 |    2 +-
 fs/xfs/libxfs/xfs_ag_resv.h            |   19 -
 fs/xfs/libxfs/xfs_alloc.c              |  235 ++---
 fs/xfs/libxfs/xfs_alloc.h              |   18 +-
 fs/xfs/libxfs/xfs_alloc_btree.c        |   64 --
 fs/xfs/libxfs/xfs_bmap.c               |   55 +-
 fs/xfs/libxfs/xfs_bmap.h               |    3 +
 fs/xfs/libxfs/xfs_bmap_btree.c         |    2 +-
 fs/xfs/libxfs/xfs_btree.c              |   51 --
 fs/xfs/libxfs/xfs_btree.h              |   16 +-
 fs/xfs/libxfs/xfs_defer.c              |    4 +-
 fs/xfs/libxfs/xfs_dir2.c               |  661 +++++++++++++-
 fs/xfs/libxfs/xfs_dir2.h               |   49 +-
 fs/xfs/libxfs/xfs_dir2_data.c          |   31 +-
 fs/xfs/libxfs/xfs_dir2_priv.h          |    7 +
 fs/xfs/libxfs/xfs_format.h             |    9 +-
 fs/xfs/libxfs/xfs_ialloc.c             |   20 +-
 fs/xfs/libxfs/xfs_ialloc_btree.c       |    2 +-
 fs/xfs/libxfs/xfs_inode_util.c         |  749 ++++++++++++++++
 fs/xfs/libxfs/xfs_inode_util.h         |   62 ++
 fs/xfs/libxfs/xfs_ondisk.h             |    1 +
 fs/xfs/libxfs/xfs_refcount.c           |  156 ++--
 fs/xfs/libxfs/xfs_refcount.h           |   11 +-
 fs/xfs/libxfs/xfs_refcount_btree.c     |    2 +-
 fs/xfs/libxfs/xfs_rmap.c               |  268 ++----
 fs/xfs/libxfs/xfs_rmap.h               |   15 +-
 fs/xfs/libxfs/xfs_rmap_btree.c         |    7 +-
 fs/xfs/libxfs/xfs_shared.h             |    7 -
 fs/xfs/libxfs/xfs_trans_inode.c        |    2 +
 fs/xfs/libxfs/xfs_trans_resv.c         |    1 -
 fs/xfs/scrub/common.c                  |    1 +
 fs/xfs/scrub/newbt.c                   |    5 +-
 fs/xfs/scrub/quota_repair.c            |    1 -
 fs/xfs/scrub/reap.c                    |    7 +-
 fs/xfs/scrub/tempfile.c                |   21 +-
 fs/xfs/xfs.h                           |    4 +
 fs/xfs/xfs_bmap_item.c                 |    6 +-
 fs/xfs/xfs_bmap_util.c                 |   22 +-
 fs/xfs/xfs_buf_item.c                  |   32 +
 fs/xfs/xfs_discard.c                   |  303 ++++++-
 fs/xfs/xfs_dquot_item.c                |   31 +
 fs/xfs/xfs_drain.c                     |    8 +-
 fs/xfs/xfs_drain.h                     |    5 +-
 fs/xfs/xfs_extfree_item.c              |  119 ++-
 fs/xfs/xfs_extfree_item.h              |    6 +
 fs/xfs/xfs_file.c                      |  141 +--
 fs/xfs/xfs_handle.c                    |    1 -
 fs/xfs/xfs_inode.c                     | 1484 ++++----------------------------
 fs/xfs/xfs_inode.h                     |   70 +-
 fs/xfs/xfs_inode_item.c                |   38 +-
 fs/xfs/xfs_ioctl.c                     |   60 --
 fs/xfs/xfs_iomap.c                     |   71 +-
 fs/xfs/xfs_iops.c                      |   51 +-
 fs/xfs/xfs_linux.h                     |    2 -
 fs/xfs/xfs_log.c                       |  511 +++--------
 fs/xfs/xfs_log.h                       |    1 -
 fs/xfs/xfs_log_cil.c                   |  177 +++-
 fs/xfs/xfs_log_priv.h                  |   61 +-
 fs/xfs/xfs_log_recover.c               |   28 +-
 fs/xfs/xfs_qm.c                        |    7 +-
 fs/xfs/xfs_qm_bhv.c                    |    1 -
 fs/xfs/xfs_refcount_item.c             |  110 +--
 fs/xfs/xfs_refcount_item.h             |    5 +
 fs/xfs/xfs_reflink.c                   |    2 +-
 fs/xfs/xfs_reflink.h                   |   10 -
 fs/xfs/xfs_rmap_item.c                 |  161 ++--
 fs/xfs/xfs_rmap_item.h                 |    4 +
 fs/xfs/xfs_rtalloc.c                   |    3 +-
 fs/xfs/xfs_symlink.c                   |   70 +-
 fs/xfs/xfs_sysfs.c                     |   29 +-
 fs/xfs/xfs_trace.c                     |    4 +-
 fs/xfs/xfs_trace.h                     |  531 +++++++-----
 fs/xfs/xfs_trans.c                     |  129 ---
 fs/xfs/xfs_trans.h                     |    5 +-
 fs/xfs/xfs_trans_ail.c                 |  244 +++---
 fs/xfs/xfs_trans_priv.h                |   44 +-
 79 files changed, 3784 insertions(+), 3410 deletions(-)
 create mode 100644 fs/xfs/libxfs/xfs_inode_util.c
 create mode 100644 fs/xfs/libxfs/xfs_inode_util.h




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux