Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6aa67184 authored by Brian Foster's avatar Brian Foster Committed by Darrick J. Wong
Browse files

xfs: rename xfs_trans ->t_agfl_dfops to ->t_dfops



The ->t_agfl_dfops field is currently used to defer agfl block frees
from associated transaction contexts. While all known problematic
contexts have already been updated to use ->t_agfl_dfops, the
broader goal is defer agfl frees from all callers that already use a
deferred operations structure. Further, the transaction field
facilitates a good amount of code clean up where the transaction and
dfops have historically been passed down through the stack
separately.

Rename the field to something more generic to prepare to use it as
such throughout XFS. This patch does not change behavior.
Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent 8a749386
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2323,8 +2323,8 @@ xfs_alloc_fix_freelist(
			goto out_agbp_relse;

		/* defer agfl frees if dfops is provided */
		if (tp->t_agfl_dfops) {
			xfs_defer_agfl_block(mp, tp->t_agfl_dfops, args->agno,
		if (tp->t_dfops) {
			xfs_defer_agfl_block(mp, tp->t_dfops, args->agno,
					     bno, &targs.oinfo);
		} else {
			error = xfs_free_agfl_block(tp, args->agno, bno, agbp,
+4 −4
Original line number Diff line number Diff line
@@ -350,9 +350,9 @@ xfs_defer_finish(
	 * Note that this code can go away once all dfops users attach to the
	 * associated tp.
	 */
	ASSERT(!(*tp)->t_agfl_dfops || ((*tp)->t_agfl_dfops == dop));
	orig_dop = (*tp)->t_agfl_dfops;
	(*tp)->t_agfl_dfops = dop;
	ASSERT(!(*tp)->t_dfops || ((*tp)->t_dfops == dop));
	orig_dop = (*tp)->t_dfops;
	(*tp)->t_dfops = dop;

	/* Until we run out of pending work to finish... */
	while (xfs_defer_has_unfinished_work(dop)) {
@@ -425,7 +425,7 @@ xfs_defer_finish(
	}

out:
	(*tp)->t_agfl_dfops = orig_dop;
	(*tp)->t_dfops = orig_dop;
	if (error)
		trace_xfs_defer_finish_error((*tp)->t_mountp, dop, error);
	else
+5 −5
Original line number Diff line number Diff line
@@ -1196,7 +1196,7 @@ xfs_create(
	unlock_dp_on_error = true;

	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;

	/*
	 * Reserve disk quota and the inode.
@@ -1452,7 +1452,7 @@ xfs_link(
	}

	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;

	/*
	 * Handle initial link state of O_TMPFILE inode
@@ -1813,7 +1813,7 @@ xfs_inactive_ifree(
	xfs_trans_ijoin(tp, ip, 0);

	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;
	error = xfs_ifree(tp, ip, &dfops);
	if (error) {
		/*
@@ -2659,7 +2659,7 @@ xfs_remove(
		goto out_trans_cancel;

	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;
	error = xfs_dir_removename(tp, dp, name, ip->i_ino,
					&first_block, &dfops, resblks);
	if (error) {
@@ -3027,7 +3027,7 @@ xfs_rename(
	}

	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;

	/* RENAME_EXCHANGE is unique from here on. */
	if (flags & RENAME_EXCHANGE)
+1 −1
Original line number Diff line number Diff line
@@ -247,7 +247,7 @@ xfs_symlink(
	 * bmapi or the directory create code.
	 */
	xfs_defer_init(&dfops, &first_block);
	tp->t_agfl_dfops = &dfops;
	tp->t_dfops = &dfops;

	/*
	 * Allocate an inode for the symlink.
+3 −3
Original line number Diff line number Diff line
@@ -118,7 +118,7 @@ xfs_trans_dup(
	ntp->t_rtx_res = tp->t_rtx_res - tp->t_rtx_res_used;
	tp->t_rtx_res = tp->t_rtx_res_used;
	ntp->t_pflags = tp->t_pflags;
	ntp->t_agfl_dfops = tp->t_agfl_dfops;
	ntp->t_dfops = tp->t_dfops;

	xfs_trans_dup_dqinfo(tp, ntp);

@@ -914,8 +914,8 @@ __xfs_trans_commit(
	int			error = 0;
	int			sync = tp->t_flags & XFS_TRANS_SYNC;

	ASSERT(!tp->t_agfl_dfops ||
	       !xfs_defer_has_unfinished_work(tp->t_agfl_dfops) || regrant);
	ASSERT(!tp->t_dfops ||
	       !xfs_defer_has_unfinished_work(tp->t_dfops) || regrant);

	trace_xfs_trans_commit(tp, _RET_IP_);

Loading