xfs: Pull up trans handling in xfs_attr3_leaf_flipflags

Since delayed operations cannot roll transactions, pull up the
transaction handling into the calling function

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>
Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Acked-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
Allison Collins 2020-07-20 21:47:23 -07:00 committed by Darrick J. Wong
parent 1a485fc1e9
commit e3be1272dd
2 changed files with 15 additions and 6 deletions

View File

@ -620,6 +620,13 @@ xfs_attr_leaf_addname(
* "old" attr and clear the incomplete flag on the "new" attr.
*/
error = xfs_attr3_leaf_flipflags(args);
if (error)
return error;
/*
* Commit the flag value change and start the next trans in
* series.
*/
error = xfs_trans_roll_inode(&args->trans, args->dp);
if (error)
return error;
@ -961,6 +968,13 @@ xfs_attr_node_addname(
* "old" attr and clear the incomplete flag on the "new" attr.
*/
error = xfs_attr3_leaf_flipflags(args);
if (error)
goto out;
/*
* Commit the flag value change and start the next trans in
* series
*/
error = xfs_trans_roll_inode(&args->trans, args->dp);
if (error)
goto out;

View File

@ -2951,10 +2951,5 @@ xfs_attr3_leaf_flipflags(
XFS_DA_LOGRANGE(leaf2, name_rmt, sizeof(*name_rmt)));
}
/*
* Commit the flag value change and start the next trans in series.
*/
error = xfs_trans_roll_inode(&args->trans, args->dp);
return error;
return 0;
}