Linux XFS filesystem development
 help / color / mirror / Atom feed
* [GIT PULLBOMB] xfs: log intent item cleanups for 6.11
@ 2024-07-03 21:13 Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 1/4] xfs: hoist inode operations to libxfs Darrick J. Wong
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Darrick J. Wong @ 2024-07-03 21:13 UTC (permalink / raw)
  To: Chandan Babu R; +Cc: linux-xfs, Christoph Hellwig

Hi Chandan,

Christoph and I have finished reviewing a large pile of deferred log
item cleanups and think they're ready to be merged for 6.11, so please
accept these pull requests against today's for-next branch.

For anyone following along at home, the xfsprogs patches are here:
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfsprogs-dev.git/log/?h=mkfs-icreate-cleanups_2024-07-01

--D


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [GIT PULL 1/4] xfs: hoist inode operations to libxfs
  2024-07-03 21:13 [GIT PULLBOMB] xfs: log intent item cleanups for 6.11 Darrick J. Wong
@ 2024-07-03 21:40 ` Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 2/4] xfs: extent free log intent cleanups Darrick J. Wong
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2024-07-03 21:40 UTC (permalink / raw)
  To: chandanbabu, djwong; +Cc: hch, linux-xfs

Hi Chandan,

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

As usual, 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.

--D

The following changes since commit 3ba3ab1f6719287674cf77a1208944cf38ef71c7:

xfs: enable FITRIM on the realtime device (2024-07-01 09:32:29 +0530)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/inode-refactor-6.11_2024-07-02

for you to fetch changes up to ac3a0275165b4f80d9b7b516d6a8f8b308644fff:

xfs: don't use the incore struct xfs_sb for offsets into struct xfs_dsb (2024-07-02 11:37:00 -0700)

----------------------------------------------------------------
xfs: hoist inode operations to libxfs [v3.0 1/4]

This series hoists inode creation, renaming, and deletion 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.

There aren't supposed to be any functional changes in this intense
refactoring -- we just split the functions into pieces that are generic
and pieces that are specific to libxfs clients.  As a bonus, we can
remove various open-coded pieces of mkfs.xfs and xfs_repair when this
series gets to xfsprogs.

With a bit of luck, this should all go splendidly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (25):
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

fs/xfs/Kconfig                  |   12 +
fs/xfs/Makefile                 |    1 +
fs/xfs/libxfs/xfs_bmap.c        |   43 ++
fs/xfs/libxfs/xfs_bmap.h        |    3 +
fs/xfs/libxfs/xfs_dir2.c        |  661 ++++++++++++++++-
fs/xfs/libxfs/xfs_dir2.h        |   49 +-
fs/xfs/libxfs/xfs_format.h      |    9 +-
fs/xfs/libxfs/xfs_ialloc.c      |   15 +
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_shared.h      |    7 -
fs/xfs/libxfs/xfs_trans_inode.c |    2 +
fs/xfs/scrub/common.c           |    1 +
fs/xfs/scrub/tempfile.c         |   21 +-
fs/xfs/xfs.h                    |    4 +
fs/xfs/xfs_buf_item.c           |   32 +
fs/xfs/xfs_dquot_item.c         |   31 +
fs/xfs/xfs_inode.c              | 1487 +++++----------------------------------
fs/xfs/xfs_inode.h              |   70 +-
fs/xfs/xfs_inode_item.c         |   32 +
fs/xfs/xfs_ioctl.c              |   60 --
fs/xfs/xfs_iops.c               |   51 +-
fs/xfs/xfs_linux.h              |    2 -
fs/xfs/xfs_qm.c                 |    7 +-
fs/xfs/xfs_reflink.h            |   10 -
fs/xfs/xfs_symlink.c            |   70 +-
fs/xfs/xfs_trans.h              |    1 -
28 files changed, 1948 insertions(+), 1545 deletions(-)
create mode 100644 fs/xfs/libxfs/xfs_inode_util.c
create mode 100644 fs/xfs/libxfs/xfs_inode_util.h


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [GIT PULL 2/4] xfs: extent free log intent cleanups
  2024-07-03 21:13 [GIT PULLBOMB] xfs: log intent item cleanups for 6.11 Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 1/4] xfs: hoist inode operations to libxfs Darrick J. Wong
@ 2024-07-03 21:40 ` Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 3/4] xfs: rmap " Darrick J. Wong
  2024-07-03 21:41 ` [GIT PULL 4/4] xfs: refcount " Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2024-07-03 21:40 UTC (permalink / raw)
  To: chandanbabu, djwong; +Cc: hch, linux-xfs

Hi Chandan,

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

As usual, 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.

--D

The following changes since commit ac3a0275165b4f80d9b7b516d6a8f8b308644fff:

xfs: don't use the incore struct xfs_sb for offsets into struct xfs_dsb (2024-07-02 11:37:00 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/extfree-intent-cleanups-6.11_2024-07-02

for you to fetch changes up to 84a3c1576c5aade32170fae6c61d51bd2d16010f:

xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c (2024-07-02 11:37:03 -0700)

----------------------------------------------------------------
xfs: extent free log intent cleanups [v3.0 2/4]

This series cleans up some warts in the extent freeing log intent code.
We start by acknowledging that this mechanism does not have anything to
do with the bmap code by moving it to xfs_alloc.c and giving the
function a more descriptive name.  Then we clean up the tracepoints and
the _finish_one call paths to pass the intent structure around.  This
reduces the overhead when the tracepoints are disabled and will make
things much cleaner when we start adding realtime support in the next
patch.  I also incorporated a bunch of cleanups from Christoph Hellwig.

With a bit of luck, this should all go splendidly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Christoph Hellwig (6):
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

Darrick J. Wong (3):
xfs: clean up extent free log intent item tracepoint callsites
xfs: convert "skip_discard" to a proper flags bitset
xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c

fs/xfs/libxfs/xfs_ag.c             |   2 +-
fs/xfs/libxfs/xfs_alloc.c          |  93 ++++++++----------------------
fs/xfs/libxfs/xfs_alloc.h          |  12 ++--
fs/xfs/libxfs/xfs_bmap.c           |  12 ++--
fs/xfs/libxfs/xfs_bmap_btree.c     |   2 +-
fs/xfs/libxfs/xfs_ialloc.c         |   5 +-
fs/xfs/libxfs/xfs_ialloc_btree.c   |   2 +-
fs/xfs/libxfs/xfs_refcount.c       |   6 +-
fs/xfs/libxfs/xfs_refcount_btree.c |   2 +-
fs/xfs/scrub/newbt.c               |   5 +-
fs/xfs/scrub/reap.c                |   7 ++-
fs/xfs/xfs_bmap_item.c             |   6 +-
fs/xfs/xfs_drain.c                 |   8 +--
fs/xfs/xfs_drain.h                 |   5 +-
fs/xfs/xfs_extfree_item.c          | 115 +++++++++++++++++--------------------
fs/xfs/xfs_extfree_item.h          |   6 ++
fs/xfs/xfs_refcount_item.c         |   5 +-
fs/xfs/xfs_reflink.c               |   2 +-
fs/xfs/xfs_rmap_item.c             |   5 +-
fs/xfs/xfs_trace.h                 |  33 +++++------
20 files changed, 141 insertions(+), 192 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [GIT PULL 3/4] xfs: rmap log intent cleanups
  2024-07-03 21:13 [GIT PULLBOMB] xfs: log intent item cleanups for 6.11 Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 1/4] xfs: hoist inode operations to libxfs Darrick J. Wong
  2024-07-03 21:40 ` [GIT PULL 2/4] xfs: extent free log intent cleanups Darrick J. Wong
@ 2024-07-03 21:40 ` Darrick J. Wong
  2024-07-03 21:41 ` [GIT PULL 4/4] xfs: refcount " Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2024-07-03 21:40 UTC (permalink / raw)
  To: chandanbabu, djwong; +Cc: hch, linux-xfs

Hi Chandan,

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

As usual, 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.

--D

The following changes since commit 84a3c1576c5aade32170fae6c61d51bd2d16010f:

xfs: move xfs_extent_free_defer_add to xfs_extfree_item.c (2024-07-02 11:37:03 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/rmap-intent-cleanups-6.11_2024-07-02

for you to fetch changes up to ea7b0820d960d5a3ee72bc67cbd8b5d47c67aa4c:

xfs: move xfs_rmap_update_defer_add to xfs_rmap_item.c (2024-07-02 11:37:05 -0700)

----------------------------------------------------------------
xfs: rmap log intent cleanups [v3.0 3/4]

This series cleans up the rmap intent code before we start adding
support for realtime devices.  Similar to previous intent cleanup
patchsets, we start transforming the tracepoints so that the data
extraction are done inside the tracepoint code, and then we start
passing the intent itself to the _finish_one function.  This reduces the
boxing and unboxing of parameters.

With a bit of luck, this should all go splendidly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Christoph Hellwig (4):
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

Darrick J. Wong (5):
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: remove xfs_trans_set_rmap_flags
xfs: move xfs_rmap_update_defer_add to xfs_rmap_item.c

fs/xfs/libxfs/xfs_rmap.c | 268 ++++++++++++++++-------------------------------
fs/xfs/libxfs/xfs_rmap.h |  15 ++-
fs/xfs/xfs_rmap_item.c   | 148 +++++++++++++-------------
fs/xfs/xfs_rmap_item.h   |   4 +
fs/xfs/xfs_trace.c       |   1 +
fs/xfs/xfs_trace.h       | 198 +++++++++++++++++++++++-----------
6 files changed, 321 insertions(+), 313 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [GIT PULL 4/4] xfs: refcount log intent cleanups
  2024-07-03 21:13 [GIT PULLBOMB] xfs: log intent item cleanups for 6.11 Darrick J. Wong
                   ` (2 preceding siblings ...)
  2024-07-03 21:40 ` [GIT PULL 3/4] xfs: rmap " Darrick J. Wong
@ 2024-07-03 21:41 ` Darrick J. Wong
  3 siblings, 0 replies; 5+ messages in thread
From: Darrick J. Wong @ 2024-07-03 21:41 UTC (permalink / raw)
  To: chandanbabu, djwong; +Cc: hch, linux-xfs

Hi Chandan,

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

As usual, 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.

--D

The following changes since commit ea7b0820d960d5a3ee72bc67cbd8b5d47c67aa4c:

xfs: move xfs_rmap_update_defer_add to xfs_rmap_item.c (2024-07-02 11:37:05 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git tags/refcount-intent-cleanups-6.11_2024-07-02

for you to fetch changes up to 783e8a7c9cab6744ebc5dfe75081248ac39181b2:

xfs: move xfs_refcount_update_defer_add to xfs_refcount_item.c (2024-07-02 11:37:07 -0700)

----------------------------------------------------------------
xfs: refcount log intent cleanups [v3.0 4/4]

This series cleans up the refcount intent code before we start adding
support for realtime devices.  Similar to previous intent cleanup
patchsets, we start transforming the tracepoints so that the data
extraction are done inside the tracepoint code, and then we start
passing the intent itself to the _finish_one function.  This reduces the
boxing and unboxing of parameters.

With a bit of luck, this should all go splendidly.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>

----------------------------------------------------------------
Darrick J. Wong (10):
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: 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

fs/xfs/libxfs/xfs_refcount.c | 150 +++++++++-------------------
fs/xfs/libxfs/xfs_refcount.h |  11 ++-
fs/xfs/xfs_refcount_item.c   | 107 ++++++++++----------
fs/xfs/xfs_refcount_item.h   |   5 +
fs/xfs/xfs_trace.c           |   1 +
fs/xfs/xfs_trace.h           | 229 ++++++++++++++++++++-----------------------
6 files changed, 222 insertions(+), 281 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-07-03 21:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-03 21:13 [GIT PULLBOMB] xfs: log intent item cleanups for 6.11 Darrick J. Wong
2024-07-03 21:40 ` [GIT PULL 1/4] xfs: hoist inode operations to libxfs Darrick J. Wong
2024-07-03 21:40 ` [GIT PULL 2/4] xfs: extent free log intent cleanups Darrick J. Wong
2024-07-03 21:40 ` [GIT PULL 3/4] xfs: rmap " Darrick J. Wong
2024-07-03 21:41 ` [GIT PULL 4/4] xfs: refcount " Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox