From: Brian Foster <bfoster@redhat.com>
To: linux-xfs@vger.kernel.org
Subject: [PATCH v2 00/15] xfs: embed dfops in the transaction
Date: Mon, 23 Jul 2018 09:03:59 -0400 [thread overview]
Message-ID: <20180723130414.47980-1-bfoster@redhat.com> (raw)
Hi all,
Here is v2 of the series to embed dfops in the transaction. This is
rebased onto Darrick's recently posted[1] xfs_defer_finish() patch to
ensure the associated function returns with a clean transaction. A new
patch is appended to the series to avoid that extra roll when
xfs_defer_finish() is called via the transaction commit path. Otherwise
this has minor updates based on feedback to v1.
Note that, as discussed, I'm working on some changes to further condense
xfs_defer_ops with the transaction structure (such as automatic dfops
relogging). Those changes will be part of a separate series.
Thoughts, reviews, flames appreciated.
Brian
[1] https://marc.info/?l=linux-xfs&m=153192905211637&w=2
v2:
- Rebase on djwong xfs_defer_finish() final tx roll patch.
- Added patch to skip extra roll on dfops finish via tx commit.
- Split up assert in xfs_reflink_cancel_cow_blocks().
- Use memset()/memcpy() rather than open-coded reset/copy.
- Relocated struct xfs_defer_ops and xfs_defer_cancel() defs to avoid
header file include mess.
v1: https://marc.info/?l=linux-xfs&m=153200816200883&w=2
Brian Foster (15):
xfs: pull up dfops from xfs_itruncate_extents()
xfs: use ->t_dfops in log recovery intent processing
xfs: fix transaction leak on remote attr set/remove failure
xfs: make deferred processing safe for embedded dfops
xfs: remove unused deferred ops committed field
xfs: reset dfops to initial state after finish
xfs: pack holes in xfs_defer_ops and xfs_trans
xfs: support embedded dfops in transaction
xfs: use internal dfops in cow blocks cancel
xfs: use internal dfops in attr code
xfs: use internal dfops during [b|c]ui recovery
xfs: remove all boilerplate defer init/finish code
xfs: remove unnecessary dfops init calls in xattr code
xfs: drop unnecessary xfs_defer_finish() dfops parameter
xfs: bypass final dfops roll in trans commit path
fs/xfs/libxfs/xfs_attr.c | 49 ++++++-----------
fs/xfs/libxfs/xfs_attr_remote.c | 13 ++---
fs/xfs/libxfs/xfs_bmap.c | 16 +-----
fs/xfs/libxfs/xfs_defer.c | 97 +++++++++++++++++++++++----------
fs/xfs/libxfs/xfs_defer.h | 21 ++-----
fs/xfs/libxfs/xfs_refcount.c | 10 +---
fs/xfs/xfs_attr_inactive.c | 1 +
fs/xfs/xfs_bmap_item.c | 21 +++----
fs/xfs/xfs_bmap_util.c | 45 +++------------
fs/xfs/xfs_dquot.c | 8 +--
fs/xfs/xfs_inode.c | 87 ++++++-----------------------
fs/xfs/xfs_iomap.c | 26 +--------
fs/xfs/xfs_iops.c | 1 +
fs/xfs/xfs_log_recover.c | 12 +---
fs/xfs/xfs_qm_syscalls.c | 1 +
fs/xfs/xfs_refcount_item.c | 30 +++++-----
fs/xfs/xfs_reflink.c | 51 ++++++-----------
fs/xfs/xfs_rtalloc.c | 9 +--
fs/xfs/xfs_symlink.c | 38 +++----------
fs/xfs/xfs_trace.h | 8 +--
fs/xfs/xfs_trans.c | 37 +++++++++++--
fs/xfs/xfs_trans.h | 22 +++++++-
22 files changed, 240 insertions(+), 363 deletions(-)
--
2.17.1
next reply other threads:[~2018-07-23 14:05 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-23 13:03 Brian Foster [this message]
2018-07-23 13:04 ` [PATCH v2 01/15] xfs: pull up dfops from xfs_itruncate_extents() Brian Foster
2018-07-23 20:37 ` Bill O'Donnell
2018-07-24 20:27 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 02/15] xfs: use ->t_dfops in log recovery intent processing Brian Foster
2018-07-23 20:38 ` Bill O'Donnell
2018-07-24 20:27 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 03/15] xfs: fix transaction leak on remote attr set/remove failure Brian Foster
2018-07-23 20:39 ` Bill O'Donnell
2018-07-24 20:27 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 04/15] xfs: make deferred processing safe for embedded dfops Brian Foster
2018-07-23 20:45 ` Bill O'Donnell
2018-07-24 20:45 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 05/15] xfs: remove unused deferred ops committed field Brian Foster
2018-07-23 20:46 ` Bill O'Donnell
2018-07-24 20:28 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 06/15] xfs: reset dfops to initial state after finish Brian Foster
2018-07-24 12:53 ` Bill O'Donnell
2018-07-24 20:46 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 07/15] xfs: pack holes in xfs_defer_ops and xfs_trans Brian Foster
2018-07-23 20:48 ` Bill O'Donnell
2018-07-24 20:46 ` Darrick J. Wong
2018-07-23 13:04 ` [PATCH v2 08/15] xfs: support embedded dfops in transaction Brian Foster
2018-07-24 12:56 ` Bill O'Donnell
2018-07-24 20:51 ` Darrick J. Wong
2018-07-25 5:04 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 09/15] xfs: use internal dfops in cow blocks cancel Brian Foster
2018-07-23 20:49 ` Bill O'Donnell
2018-07-24 20:53 ` Darrick J. Wong
2018-07-25 5:04 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 10/15] xfs: use internal dfops in attr code Brian Foster
2018-07-23 20:51 ` Bill O'Donnell
2018-07-24 20:53 ` Darrick J. Wong
2018-07-25 5:04 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 11/15] xfs: use internal dfops during [b|c]ui recovery Brian Foster
2018-07-24 13:02 ` Bill O'Donnell
2018-07-24 20:53 ` Darrick J. Wong
2018-07-25 5:05 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 12/15] xfs: remove all boilerplate defer init/finish code Brian Foster
2018-07-24 13:11 ` Bill O'Donnell
2018-07-24 20:54 ` Darrick J. Wong
2018-07-25 5:07 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 13/15] xfs: remove unnecessary dfops init calls in xattr code Brian Foster
2018-07-24 13:13 ` Bill O'Donnell
2018-07-24 20:54 ` Darrick J. Wong
2018-07-25 5:07 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 14/15] xfs: drop unnecessary xfs_defer_finish() dfops parameter Brian Foster
2018-07-24 13:16 ` Bill O'Donnell
2018-07-24 20:55 ` Darrick J. Wong
2018-07-25 5:11 ` Christoph Hellwig
2018-07-25 11:09 ` Brian Foster
2018-07-25 11:34 ` Christoph Hellwig
2018-07-23 13:04 ` [PATCH v2 15/15] xfs: bypass final dfops roll in trans commit path Brian Foster
2018-07-24 13:25 ` Bill O'Donnell
2018-07-24 20:55 ` Darrick J. Wong
2018-07-25 5:16 ` Christoph Hellwig
2018-07-25 11:12 ` [PATCH v3 " Brian Foster
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=20180723130414.47980-1-bfoster@redhat.com \
--to=bfoster@redhat.com \
--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 NNTP newsgroup(s).