From: Christoph Hellwig <hch@lst.de>
To: Chandan Babu R <chandan.babu@oracle.com>,
"Darrick J. Wong" <djwong@kernel.org>
Cc: linux-xfs@vger.kernel.org
Subject: optimize COW end I/O remapping v2
Date: Mon, 29 Apr 2024 06:49:09 +0200 [thread overview]
Message-ID: <20240429044917.1504566-1-hch@lst.de> (raw)
Hi all,
this series optimizes how we handle unmapping the old data fork
extents when finishing COW I/O. To get there I also did a bunch
of cleanups for helpers called by this code.
Changes since v1:
- remove the racy if_bytes in xfs_reflink_end_cow_extent enirely
- pass an unsigned value to xfs_quota_unreserve_blkres
- rename xfs_iext_count_upgrade to xfs_iext_count_ensure
- only check for XFS_ERRTAG_REDUCE_MAX_IEXTENTS once in
xfs_iext_count_ensure
- roll the transaction after 128 EFIs
- use a different name for the irec of the remapped extent in
xfs_reflink_end_cow_extent
Diffstat:
libxfs/xfs_attr.c | 5 -
libxfs/xfs_bmap.c | 21 +-----
libxfs/xfs_bmap.h | 2
libxfs/xfs_inode_fork.c | 57 +++++++----------
libxfs/xfs_inode_fork.h | 6 -
libxfs/xfs_trans_resv.h | 7 ++
scrub/newbt.c | 2
scrub/reap.c | 2
scrub/repair.h | 8 --
xfs_aops.c | 6 -
xfs_bmap_item.c | 4 -
xfs_bmap_util.c | 33 ++-------
xfs_bmap_util.h | 2
xfs_dquot.c | 5 -
xfs_iomap.c | 13 +--
xfs_quota.h | 23 ++----
xfs_reflink.c | 160 ++++++++++++++++++++++++++----------------------
xfs_rtalloc.c | 5 -
18 files changed, 159 insertions(+), 202 deletions(-)
next reply other threads:[~2024-04-29 4:49 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-29 4:49 Christoph Hellwig [this message]
2024-04-29 4:49 ` [PATCH 1/8] xfs: upgrade the extent counters in xfs_reflink_end_cow_extent later Christoph Hellwig
2024-04-29 15:26 ` Darrick J. Wong
2024-04-29 17:16 ` Christoph Hellwig
2024-04-29 4:49 ` [PATCH 2/8] xfs: remove a racy if_bytes check in xfs_reflink_end_cow_extent Christoph Hellwig
2024-04-29 15:27 ` Darrick J. Wong
2024-04-29 17:17 ` Christoph Hellwig
2024-04-29 4:49 ` [PATCH 3/8] xfs: consolidate the xfs_quota_reserve_blkres definitions Christoph Hellwig
2024-04-29 4:49 ` [PATCH 4/8] xfs: xfs_quota_unreserve_blkres can't fail Christoph Hellwig
2024-04-29 15:29 ` Darrick J. Wong
2024-04-29 4:49 ` [PATCH 5/8] xfs: simplify iext overflow checking and upgrade Christoph Hellwig
2024-04-29 15:32 ` Darrick J. Wong
2024-04-29 4:49 ` [PATCH 6/8] xfs: lift XREP_MAX_ITRUNCATE_EFIS out of the scrub code Christoph Hellwig
2024-04-29 4:49 ` [PATCH 7/8] xfs: optimize extent remapping in xfs_reflink_end_cow_extent Christoph Hellwig
2024-04-29 15:43 ` Darrick J. Wong
2024-04-30 9:38 ` Christoph Hellwig
2024-04-29 4:49 ` [PATCH 8/8] xfs: rename the del variable " Christoph Hellwig
2024-04-29 15:33 ` Darrick J. Wong
2024-04-29 17:18 ` Christoph Hellwig
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=20240429044917.1504566-1-hch@lst.de \
--to=hch@lst.de \
--cc=chandan.babu@oracle.com \
--cc=djwong@kernel.org \
--cc=linux-xfs@vger.kernel.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).