Commit d43ac29b authored by Brian Foster's avatar Brian Foster Committed by Dave Chinner

xfs: return committed status from xfs_trans_roll()

Some callers need to make error handling decisions based on whether
the current transaction successfully committed or not. Rename
xfs_trans_roll(), add a new parameter and provide a wrapper to
preserve existing callers.
Signed-off-by: default avatarBrian Foster <bfoster@redhat.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
parent 5e4b5386
...@@ -1019,9 +1019,10 @@ xfs_trans_cancel( ...@@ -1019,9 +1019,10 @@ xfs_trans_cancel(
* chunk we've been working on and get a new transaction to continue. * chunk we've been working on and get a new transaction to continue.
*/ */
int int
xfs_trans_roll( __xfs_trans_roll(
struct xfs_trans **tpp, struct xfs_trans **tpp,
struct xfs_inode *dp) struct xfs_inode *dp,
int *committed)
{ {
struct xfs_trans *trans; struct xfs_trans *trans;
struct xfs_trans_res tres; struct xfs_trans_res tres;
...@@ -1052,6 +1053,7 @@ xfs_trans_roll( ...@@ -1052,6 +1053,7 @@ xfs_trans_roll(
if (error) if (error)
return error; return error;
*committed = 1;
trans = *tpp; trans = *tpp;
/* /*
...@@ -1074,3 +1076,12 @@ xfs_trans_roll( ...@@ -1074,3 +1076,12 @@ xfs_trans_roll(
xfs_trans_ijoin(trans, dp, 0); xfs_trans_ijoin(trans, dp, 0);
return 0; return 0;
} }
int
xfs_trans_roll(
struct xfs_trans **tpp,
struct xfs_inode *dp)
{
int committed = 0;
return __xfs_trans_roll(tpp, dp, &committed);
}
...@@ -225,6 +225,7 @@ void xfs_trans_log_efd_extent(xfs_trans_t *, ...@@ -225,6 +225,7 @@ void xfs_trans_log_efd_extent(xfs_trans_t *,
xfs_fsblock_t, xfs_fsblock_t,
xfs_extlen_t); xfs_extlen_t);
int xfs_trans_commit(struct xfs_trans *); int xfs_trans_commit(struct xfs_trans *);
int __xfs_trans_roll(struct xfs_trans **, struct xfs_inode *, int *);
int xfs_trans_roll(struct xfs_trans **, struct xfs_inode *); int xfs_trans_roll(struct xfs_trans **, struct xfs_inode *);
void xfs_trans_cancel(xfs_trans_t *); void xfs_trans_cancel(xfs_trans_t *);
int xfs_trans_ail_init(struct xfs_mount *); int xfs_trans_ail_init(struct xfs_mount *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment