[GIT PULL] xfs: new code for 6.12

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

 



Hi Linus,

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

The pull request introduces new ioctls for exchanging contents of two files.
The remaining changes are limited to fixes and cleanups.

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.

Please note that in case you end up pulling contents of for-next branches of either
https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git
or
https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git

... You might end up with compilation errors. The trivial patch at
https://lore.kernel.org/linux-next/20240916093012.3a4dbb3f@xxxxxxxxxxxxxxxx/#r
will resolve the issue.

The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:

  Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-6.12-merge-1

for you to fetch changes up to 90fa22da6d6b41dc17435aff7b800f9ca3c00401:

  xfs: ensure st_blocks never goes to zero during COW writes (2024-09-03 10:07:47 +0530)

----------------------------------------------------------------
New code for 6.12:

  * Introduce new ioctls to exchange contents of two files.
    The first ioctl does the preparation work to exchange the contents of two
    files while the second ioctl performs the actual exchange if the target
    file has not been changed since a given sampling point.

  * Fixes
    - Fix bugs associated with calculating the maximum range of realtime
      extents to scan for free space.
    - Copy keys instead of records when resizing the incore BMBT root block.
    - Do not report FITRIMming more bytes than possibly exist in the
      filesystem.
    - Modify xfs_fs.h to prevent C++ compilation errors.
    - Do not over eagerly free post-EOF speculative preallocation.
    - Ensure st_blocks never goes to zero during COW writes

  * Cleanups/refactors
    - Use Xarray to hold per-AG data instead of a Radix tree.
    - Cleanup the following functionality,
      - Realtime bitmap.
      - Inode allocator.
      - Quota.
      - Inode rooted btree code.

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

----------------------------------------------------------------
Chandan Babu R (8):
      Merge tag 'atomic-file-commits-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'metadir-cleanups-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'rtbitmap-cleanups-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'rtalloc-fixes-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'rtalloc-cleanups-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'quota-cleanups-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'xfs-fixes-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA
      Merge tag 'btree-cleanups-6.12_2024-09-02' of https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-6.12-mergeA

Christoph Hellwig (37):
      xfs: remove xfs_validate_rtextents
      xfs: factor out a xfs_validate_rt_geometry helper
      xfs: make the RT rsum_cache mandatory
      xfs: use the recalculated transaction reservation in xfs_growfs_rt_bmblock
      xfs: clean up the ISVALID macro in xfs_bmap_adjacent
      xfs: remove the limit argument to xfs_rtfind_back
      xfs: ensure rtx mask/shift are correct after growfs
      xfs: factor out a xfs_rtallocate helper
      xfs: assert a valid limit in xfs_rtfind_forw
      xfs: rework the rtalloc fallback handling
      xfs: add bounds checking to xfs_rt{bitmap,summary}_read_buf
      xfs: factor out a xfs_rtallocate_align helper
      xfs: cleanup the calling convention for xfs_rtpick_extent
      xfs: make the rtalloc start hint a xfs_rtblock_t
      xfs: push the calls to xfs_rtallocate_range out to xfs_bmap_rtalloc
      xfs: factor out a xfs_growfs_rt_bmblock helper
      xfs: remove xfs_{rtbitmap,rtsummary}_wordcount
      xfs: factor out a xfs_last_rt_bmblock helper
      xfs: replace m_rsumsize with m_rsumblocks
      xfs: match on the global RT inode numbers in xfs_is_metadata_inode
      xfs: factor out rtbitmap/summary initialization helpers
      xfs: remove xfs_rtb_to_rtxrem
      xfs: push transaction join out of xfs_rtbitmap_lock and xfs_rtgroup_lock
      xfs: simplify xfs_rtalloc_query_range
      xfs: remove the i_mode check in xfs_release
      xfs: refactor f_op->release handling
      xfs: don't bother returning errors from xfs_file_release
      xfs: skip all of xfs_file_release when shut down
      xfs: check XFS_EOFBLOCKS_RELEASED earlier in xfs_release_eofblocks
      xfs: simplify extent lookup in xfs_can_free_eofblocks
      xfs: reclaim speculative preallocations for append only files
      xfs: use kfree_rcu_mightsleep to free the perag structures
      xfs: move the tagged perag lookup helpers to xfs_icache.c
      xfs: simplify tagged perag iteration
      xfs: convert perag lookup to xarray
      xfs: use xas_for_each_marked in xfs_reclaim_inodes_count
      xfs: ensure st_blocks never goes to zero during COW writes

Dan Carpenter (1):
      xfs: remove unnecessary check

Darrick J. Wong (19):
      xfs: don't return too-short extents from xfs_rtallocate_extent_block
      xfs: don't scan off the end of the rt volume in xfs_rtallocate_extent_block
      xfs: refactor aligning bestlen to prod
      xfs: clean up xfs_rtallocate_extent_exact a bit
      xfs: add xchk_setup_nothing and xchk_nothing helpers
      xfs: reduce excessive clamping of maxlen in xfs_rtallocate_extent_near
      xfs: validate inumber in xfs_iget
      xfs: fix broken variable-sized allocation detection in xfs_rtallocate_extent_block
      xfs: rearrange xfs_fsmap.c a little bit
      xfs: introduce new file range commit ioctls
      xfs: pass the icreate args object to xfs_dialloc
      xfs: move xfs_ioc_getfsmap out of xfs_ioctl.c
      xfs: fix C++ compilation errors in xfs_fs.h
      xfs: fix FITRIM reporting again
      xfs: replace shouty XFS_BM{BT,DR} macros
      xfs: refactor loading quota inodes in the regular case
      xfs: fix a sloppy memory handling bug in xfs_iroot_realloc
      xfs: standardize the btree maxrecs function parameters
      xfs: only free posteof blocks on first close

Dave Chinner (1):
      xfs: don't free post-EOF blocks on read close

Hongbo Li (1):
      xfs: use LIST_HEAD() to simplify code

Jiapeng Chong (1):
      xfs: Remove duplicate xfs_trans_priv.h header

John Garry (1):
      xfs: Use xfs set and clear mp state helpers

 fs/xfs/libxfs/xfs_ag.c             |  94 +---
 fs/xfs/libxfs/xfs_ag.h             |  14 -
 fs/xfs/libxfs/xfs_alloc_btree.c    |   6 +-
 fs/xfs/libxfs/xfs_alloc_btree.h    |   3 +-
 fs/xfs/libxfs/xfs_attr_leaf.c      |   8 +-
 fs/xfs/libxfs/xfs_bmap.c           | 101 +++--
 fs/xfs/libxfs/xfs_bmap_btree.c     |  24 +-
 fs/xfs/libxfs/xfs_bmap_btree.h     | 207 ++++++---
 fs/xfs/libxfs/xfs_defer.c          |   1 -
 fs/xfs/libxfs/xfs_fs.h             |  31 +-
 fs/xfs/libxfs/xfs_ialloc.c         |   9 +-
 fs/xfs/libxfs/xfs_ialloc.h         |   4 +-
 fs/xfs/libxfs/xfs_ialloc_btree.c   |   6 +-
 fs/xfs/libxfs/xfs_ialloc_btree.h   |   3 +-
 fs/xfs/libxfs/xfs_inode_fork.c     |  40 +-
 fs/xfs/libxfs/xfs_inode_util.c     |   2 +-
 fs/xfs/libxfs/xfs_refcount_btree.c |   5 +-
 fs/xfs/libxfs/xfs_refcount_btree.h |   3 +-
 fs/xfs/libxfs/xfs_rmap_btree.c     |   7 +-
 fs/xfs/libxfs/xfs_rmap_btree.h     |   3 +-
 fs/xfs/libxfs/xfs_rtbitmap.c       | 274 ++++++++----
 fs/xfs/libxfs/xfs_rtbitmap.h       |  61 +--
 fs/xfs/libxfs/xfs_sb.c             |  92 ++--
 fs/xfs/libxfs/xfs_sb.h             |   3 +
 fs/xfs/libxfs/xfs_trans_resv.c     |   4 +-
 fs/xfs/libxfs/xfs_types.h          |  12 -
 fs/xfs/scrub/bmap_repair.c         |   2 +-
 fs/xfs/scrub/common.h              |  29 +-
 fs/xfs/scrub/inode_repair.c        |  12 +-
 fs/xfs/scrub/rtsummary.c           |  11 +-
 fs/xfs/scrub/rtsummary.h           |   2 +-
 fs/xfs/scrub/rtsummary_repair.c    |  12 +-
 fs/xfs/scrub/scrub.h               |  29 +-
 fs/xfs/scrub/tempfile.c            |   2 +-
 fs/xfs/xfs_bmap_item.c             |  17 +
 fs/xfs/xfs_bmap_util.c             |  38 +-
 fs/xfs/xfs_discard.c               |  17 +-
 fs/xfs/xfs_exchrange.c             | 143 +++++-
 fs/xfs/xfs_exchrange.h             |  16 +-
 fs/xfs/xfs_file.c                  |  72 ++-
 fs/xfs/xfs_fsmap.c                 | 403 +++++++++++------
 fs/xfs/xfs_fsmap.h                 |   6 +-
 fs/xfs/xfs_fsops.c                 |   2 +-
 fs/xfs/xfs_icache.c                |  89 ++--
 fs/xfs/xfs_inode.c                 |  86 +---
 fs/xfs/xfs_inode.h                 |  12 +-
 fs/xfs/xfs_ioctl.c                 | 134 +-----
 fs/xfs/xfs_log.c                   |   2 +-
 fs/xfs/xfs_log_recover.c           |   2 +-
 fs/xfs/xfs_mount.c                 |   2 +-
 fs/xfs/xfs_mount.h                 |   5 +-
 fs/xfs/xfs_mru_cache.c             |   3 +-
 fs/xfs/xfs_qm.c                    |  48 +-
 fs/xfs/xfs_qm.h                    |   3 +
 fs/xfs/xfs_qm_syscalls.c           |  13 +-
 fs/xfs/xfs_quotaops.c              |  53 ++-
 fs/xfs/xfs_rtalloc.c               | 868 +++++++++++++++++--------------------
 fs/xfs/xfs_super.c                 |  13 +-
 fs/xfs/xfs_symlink.c               |   2 +-
 fs/xfs/xfs_trace.h                 |  61 ++-
 60 files changed, 1772 insertions(+), 1454 deletions(-)




[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