From: Chandan Babu R <chandanbabu@kernel.org>
To: torvalds@linux-foundation.org
Cc: chandanbabu@kernel.org,linux-fsdevel@vger.kernel.org,linux-xfs@vger.kernel.org
Subject: [GIT PULL] xfs: new code for 6.11
Date: Wed, 17 Jul 2024 09:14:02 +0530 [thread overview]
Message-ID: <871q3sison.fsf@debian-BULLSEYE-live-builder-AMD64> (raw)
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@kernel.org>
----------------------------------------------------------------
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
next reply other threads:[~2024-07-17 3:49 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-17 3:44 Chandan Babu R [this message]
2024-07-17 20:18 ` [GIT PULL] xfs: new code for 6.11 pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871q3sison.fsf@debian-BULLSEYE-live-builder-AMD64 \
--to=chandanbabu@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox