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

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

xfs: remove unnecessary dfops init calls in xattr code



Each xfs_defer_init() call in the xattr code uses the internal dfops
reference. In addition, a successful xfs_defer_finish() always
returns with a reset xfs_defer_ops structure.

Given that along with the fact that every xfs_defer_init() call in
the xattr code is followed up by an xfs_defer_finish(), the former
calls are no longer necessary and can be removed.

Note that the xfs_defer_init() call in the remote value copy loop of
xfs_attr_rmtval_set() is not followed by a finish, but the dfops is
unused in this instance.

Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatarBill O'Donnell <billodo@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 c8eac49e
Loading
Loading
Loading
Loading
+0 −8
Original line number Original line Diff line number Diff line
@@ -587,7 +587,6 @@ xfs_attr_leaf_addname(
		 * Commit that transaction so that the node_addname() call
		 * Commit that transaction so that the node_addname() call
		 * can manage its own transactions.
		 * can manage its own transactions.
		 */
		 */
		xfs_defer_init(args->trans, args->trans->t_dfops);
		error = xfs_attr3_leaf_to_node(args);
		error = xfs_attr3_leaf_to_node(args);
		if (error)
		if (error)
			goto out_defer_cancel;
			goto out_defer_cancel;
@@ -676,7 +675,6 @@ xfs_attr_leaf_addname(
		 * If the result is small enough, shrink it all into the inode.
		 * If the result is small enough, shrink it all into the inode.
		 */
		 */
		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
			xfs_defer_init(args->trans, args->trans->t_dfops);
			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
			/* bp is gone due to xfs_da_shrink_inode */
			/* bp is gone due to xfs_da_shrink_inode */
			if (error)
			if (error)
@@ -741,7 +739,6 @@ xfs_attr_leaf_removename(
	 * If the result is small enough, shrink it all into the inode.
	 * If the result is small enough, shrink it all into the inode.
	 */
	 */
	if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
	if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
		xfs_defer_init(args->trans, args->trans->t_dfops);
		error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
		error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
		/* bp is gone due to xfs_da_shrink_inode */
		/* bp is gone due to xfs_da_shrink_inode */
		if (error)
		if (error)
@@ -870,7 +867,6 @@ xfs_attr_node_addname(
			 */
			 */
			xfs_da_state_free(state);
			xfs_da_state_free(state);
			state = NULL;
			state = NULL;
			xfs_defer_init(args->trans, args->trans->t_dfops);
			error = xfs_attr3_leaf_to_node(args);
			error = xfs_attr3_leaf_to_node(args);
			if (error)
			if (error)
				goto out_defer_cancel;
				goto out_defer_cancel;
@@ -897,7 +893,6 @@ xfs_attr_node_addname(
		 * in the index/blkno/rmtblkno/rmtblkcnt fields and
		 * in the index/blkno/rmtblkno/rmtblkcnt fields and
		 * in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields.
		 * in the index2/blkno2/rmtblkno2/rmtblkcnt2 fields.
		 */
		 */
		xfs_defer_init(args->trans, args->trans->t_dfops);
		error = xfs_da3_split(state);
		error = xfs_da3_split(state);
		if (error)
		if (error)
			goto out_defer_cancel;
			goto out_defer_cancel;
@@ -995,7 +990,6 @@ xfs_attr_node_addname(
		 * Check to see if the tree needs to be collapsed.
		 * Check to see if the tree needs to be collapsed.
		 */
		 */
		if (retval && (state->path.active > 1)) {
		if (retval && (state->path.active > 1)) {
			xfs_defer_init(args->trans, args->trans->t_dfops);
			error = xfs_da3_join(state);
			error = xfs_da3_join(state);
			if (error)
			if (error)
				goto out_defer_cancel;
				goto out_defer_cancel;
@@ -1120,7 +1114,6 @@ xfs_attr_node_removename(
	 * Check to see if the tree needs to be collapsed.
	 * Check to see if the tree needs to be collapsed.
	 */
	 */
	if (retval && (state->path.active > 1)) {
	if (retval && (state->path.active > 1)) {
		xfs_defer_init(args->trans, args->trans->t_dfops);
		error = xfs_da3_join(state);
		error = xfs_da3_join(state);
		if (error)
		if (error)
			goto out_defer_cancel;
			goto out_defer_cancel;
@@ -1152,7 +1145,6 @@ xfs_attr_node_removename(
			goto out;
			goto out;


		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
		if ((forkoff = xfs_attr_shortform_allfit(bp, dp))) {
			xfs_defer_init(args->trans, args->trans->t_dfops);
			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
			error = xfs_attr3_leaf_to_shortform(bp, args, forkoff);
			/* bp is gone due to xfs_da_shrink_inode */
			/* bp is gone due to xfs_da_shrink_inode */
			if (error)
			if (error)
+0 −3
Original line number Original line Diff line number Diff line
@@ -480,7 +480,6 @@ xfs_attr_rmtval_set(
		 * extent and then crash then the block may not contain the
		 * extent and then crash then the block may not contain the
		 * correct metadata after log recovery occurs.
		 * correct metadata after log recovery occurs.
		 */
		 */
		xfs_defer_init(args->trans, args->trans->t_dfops);
		nmap = 1;
		nmap = 1;
		error = xfs_bmapi_write(args->trans, dp, (xfs_fileoff_t)lblkno,
		error = xfs_bmapi_write(args->trans, dp, (xfs_fileoff_t)lblkno,
				  blkcnt, XFS_BMAPI_ATTRFORK, args->total, &map,
				  blkcnt, XFS_BMAPI_ATTRFORK, args->total, &map,
@@ -522,7 +521,6 @@ xfs_attr_rmtval_set(


		ASSERT(blkcnt > 0);
		ASSERT(blkcnt > 0);


		xfs_defer_init(args->trans, args->trans->t_dfops);
		nmap = 1;
		nmap = 1;
		error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno,
		error = xfs_bmapi_read(dp, (xfs_fileoff_t)lblkno,
				       blkcnt, &map, &nmap,
				       blkcnt, &map, &nmap,
@@ -625,7 +623,6 @@ xfs_attr_rmtval_remove(
	blkcnt = args->rmtblkcnt;
	blkcnt = args->rmtblkcnt;
	done = 0;
	done = 0;
	while (!done) {
	while (!done) {
		xfs_defer_init(args->trans, args->trans->t_dfops);
		error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt,
		error = xfs_bunmapi(args->trans, args->dp, lblkno, blkcnt,
				    XFS_BMAPI_ATTRFORK, 1, &done);
				    XFS_BMAPI_ATTRFORK, 1, &done);
		if (error)
		if (error)