summaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_defer.c
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2018-08-01 07:20:30 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2018-08-02 23:05:13 -0700
commitce356d64772f920f26cd6c1b02878a737a275638 (patch)
treec097925c224998492ba5c723a760cfa0c560e459 /fs/xfs/libxfs/xfs_defer.c
parent7279aa13b8fb954f50073a672f912898198efd14 (diff)
xfs: pass transaction to dfops reset/move helpers
All callers pass ->t_dfops of the associated transactions. Refactor the helpers to receive the transactions and facilitate further cleanups between xfs_defer_ops and xfs_trans. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_defer.c')
-rw-r--r--fs/xfs/libxfs/xfs_defer.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/fs/xfs/libxfs/xfs_defer.c b/fs/xfs/libxfs/xfs_defer.c
index ebead781613f..e3517a53c525 100644
--- a/fs/xfs/libxfs/xfs_defer.c
+++ b/fs/xfs/libxfs/xfs_defer.c
@@ -324,9 +324,12 @@ xfs_defer_bjoin(
*/
static void
xfs_defer_reset(
- struct xfs_defer_ops *dop)
+ struct xfs_trans *tp)
{
+ struct xfs_defer_ops *dop = tp->t_dfops;
+
ASSERT(!xfs_defer_has_unfinished_work(dop));
+
dop->dop_low = false;
memset(dop->dop_inodes, 0, sizeof(dop->dop_inodes));
memset(dop->dop_bufs, 0, sizeof(dop->dop_bufs));
@@ -457,7 +460,7 @@ xfs_defer_finish(
if (error)
return error;
}
- xfs_defer_reset((*tp)->t_dfops);
+ xfs_defer_reset(*tp);
return 0;
}
@@ -575,9 +578,11 @@ xfs_defer_init(
*/
void
xfs_defer_move(
- struct xfs_defer_ops *dst,
- struct xfs_defer_ops *src)
+ struct xfs_trans *dtp,
+ struct xfs_trans *stp)
{
+ struct xfs_defer_ops *dst = dtp->t_dfops;
+ struct xfs_defer_ops *src = stp->t_dfops;
ASSERT(dst != src);
list_splice_init(&src->dop_intake, &dst->dop_intake);
@@ -587,5 +592,5 @@ xfs_defer_move(
memcpy(dst->dop_bufs, src->dop_bufs, sizeof(dst->dop_bufs));
dst->dop_low = src->dop_low;
- xfs_defer_reset(src);
+ xfs_defer_reset(stp);
}