xfs: Remove xfs_trans_roll in xfs_attr_node_removename
authorAllison Collins <allison.henderson@oracle.com>
Tue, 21 Jul 2020 04:47:28 +0000 (21:47 -0700)
committerDarrick J. Wong <darrick.wong@oracle.com>
Wed, 29 Jul 2020 03:28:12 +0000 (20:28 -0700)
A transaction roll is not necessary immediately after setting the
INCOMPLETE flag when removing a node xattr entry with remote value
blocks. The remote block invalidation that immediately follows setting
the flag is an in-core only change. The next step after that is to start
unmapping the remote blocks from the attr fork, but the xattr remove
transaction reservation includes reservation for full tree splits of the
dabtree and bmap tree. The remote block unmap code will roll the
transaction as extents are unmapped and freed.

Signed-off-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Dave Chinner <dchinner@redhat.com>
fs/xfs/libxfs/xfs_attr.c

index 2daf3084f3e382de992704e1d3eb4f7182eb0ee9..780af0ef6bc643ea454176923024cf768cf7647a 100644 (file)
@@ -1142,10 +1142,6 @@ xfs_attr_node_removename(
                if (error)
                        goto out;
 
-               error = xfs_trans_roll_inode(&args->trans, args->dp);
-               if (error)
-                       goto out;
-
                error = xfs_attr_rmtval_invalidate(args);
                if (error)
                        return error;