]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: Remove xfs_trans_roll in xfs_attr_node_removename
authorAllison Collins <allison.henderson@oracle.com>
Tue, 15 Sep 2020 19:59:37 +0000 (15:59 -0400)
committerEric Sandeen <sandeen@sandeen.net>
Tue, 15 Sep 2020 19:59:37 +0000 (15:59 -0400)
Source kernel commit: a237f2ddae4b79797fcb4290116acda38323da16

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>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_attr.c

index 5612fa32a9a463d4c87159404e2c5b91e80d5a4b..6089db83df198252e0802b1eba6c32fcafb7794d 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;