xfs: Pull up trans roll in xfs_attr3_leaf_clearflag

New delayed allocation routines cannot be handling transactions so
pull them out into the calling functions

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:26 -07:00 committed by Darrick J. Wong
parent 795141099a
commit 1fc618d762
2 changed files with 17 additions and 4 deletions

View file

@ -709,6 +709,14 @@ xfs_attr_leaf_addname(
* Added a "remote" value, just clear the incomplete flag.
*/
error = xfs_attr3_leaf_clearflag(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);
}
return error;
}
@ -1067,6 +1075,14 @@ restart:
error = xfs_attr3_leaf_clearflag(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;
}
retval = error = 0;

View file

@ -2782,10 +2782,7 @@ xfs_attr3_leaf_clearflag(
XFS_DA_LOGRANGE(leaf, name_rmt, sizeof(*name_rmt)));
}
/*
* Commit the flag value change and start the next trans in series.
*/
return xfs_trans_roll_inode(&args->trans, args->dp);
return 0;
}
/*