mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
xfs: return the allocated transaction from xchk_trans_alloc_empty
xchk_trans_alloc_empty can't return errors, so return the allocated transaction directly instead of an output double pointer argument. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Carlos Maiolino <cem@kernel.org>
This commit is contained in:
parent
d8e1ea43e5
commit
92176e3246
|
|
@ -866,12 +866,11 @@ xchk_trans_cancel(
|
|||
sc->tp = NULL;
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
xchk_trans_alloc_empty(
|
||||
struct xfs_scrub *sc)
|
||||
{
|
||||
sc->tp = xfs_trans_alloc_empty(sc->mp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -893,7 +892,8 @@ xchk_trans_alloc(
|
|||
return xfs_trans_alloc(sc->mp, &M_RES(sc->mp)->tr_itruncate,
|
||||
resblks, 0, 0, &sc->tp);
|
||||
|
||||
return xchk_trans_alloc_empty(sc);
|
||||
xchk_trans_alloc_empty(sc);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Set us up with a transaction and an empty context. */
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#define __XFS_SCRUB_COMMON_H__
|
||||
|
||||
int xchk_trans_alloc(struct xfs_scrub *sc, uint resblks);
|
||||
int xchk_trans_alloc_empty(struct xfs_scrub *sc);
|
||||
void xchk_trans_alloc_empty(struct xfs_scrub *sc);
|
||||
void xchk_trans_cancel(struct xfs_scrub *sc);
|
||||
|
||||
bool xchk_process_error(struct xfs_scrub *sc, xfs_agnumber_t agno,
|
||||
|
|
|
|||
|
|
@ -1289,9 +1289,7 @@ xrep_dir_scan_dirtree(
|
|||
if (sc->ilock_flags & (XFS_ILOCK_SHARED | XFS_ILOCK_EXCL))
|
||||
xchk_iunlock(sc, sc->ilock_flags & (XFS_ILOCK_SHARED |
|
||||
XFS_ILOCK_EXCL));
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
while ((error = xchk_iscan_iter(&rd->pscan.iscan, &ip)) == 1) {
|
||||
bool flush;
|
||||
|
|
@ -1317,9 +1315,7 @@ xrep_dir_scan_dirtree(
|
|||
if (error)
|
||||
break;
|
||||
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
break;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
}
|
||||
|
||||
if (xchk_should_terminate(sc, &error))
|
||||
|
|
|
|||
|
|
@ -237,7 +237,8 @@ xchk_setup_fscounters(
|
|||
return error;
|
||||
}
|
||||
|
||||
return xchk_trans_alloc_empty(sc);
|
||||
xchk_trans_alloc_empty(sc);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -318,9 +318,7 @@ xchk_metapath(
|
|||
return 0;
|
||||
}
|
||||
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
error = xchk_metapath_ilock_both(mpath);
|
||||
if (error)
|
||||
|
|
|
|||
|
|
@ -555,9 +555,7 @@ xchk_nlinks_collect(
|
|||
* do not take sb_internal.
|
||||
*/
|
||||
xchk_trans_cancel(sc);
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
while ((error = xchk_iscan_iter(&xnc->collect_iscan, &ip)) == 1) {
|
||||
if (S_ISDIR(VFS_I(ip)->i_mode))
|
||||
|
|
@ -880,9 +878,7 @@ xchk_nlinks_compare(
|
|||
* inactivation workqueue.
|
||||
*/
|
||||
xchk_trans_cancel(sc);
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
/*
|
||||
* Use the inobt to walk all allocated inodes to compare the link
|
||||
|
|
|
|||
|
|
@ -340,9 +340,7 @@ xrep_nlinks(
|
|||
* We can only push the inactivation workqueues with an empty
|
||||
* transaction.
|
||||
*/
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
break;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
}
|
||||
xchk_iscan_iter_finish(&xnc->compare_iscan);
|
||||
xchk_iscan_teardown(&xnc->compare_iscan);
|
||||
|
|
|
|||
|
|
@ -569,9 +569,7 @@ xrep_parent_scan_dirtree(
|
|||
if (sc->ilock_flags & (XFS_ILOCK_SHARED | XFS_ILOCK_EXCL))
|
||||
xchk_iunlock(sc, sc->ilock_flags & (XFS_ILOCK_SHARED |
|
||||
XFS_ILOCK_EXCL));
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
while ((error = xchk_iscan_iter(&rp->pscan.iscan, &ip)) == 1) {
|
||||
bool flush;
|
||||
|
|
@ -597,9 +595,7 @@ xrep_parent_scan_dirtree(
|
|||
if (error)
|
||||
break;
|
||||
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
break;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
}
|
||||
|
||||
if (xchk_should_terminate(sc, &error))
|
||||
|
|
@ -1099,9 +1095,7 @@ xrep_parent_flush_xattrs(
|
|||
xrep_tempfile_iounlock(rp->sc);
|
||||
|
||||
/* Recreate the empty transaction and relock the inode. */
|
||||
error = xchk_trans_alloc_empty(rp->sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(rp->sc);
|
||||
xchk_ilock(rp->sc, XFS_ILOCK_EXCL);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -505,9 +505,7 @@ xqcheck_collect_counts(
|
|||
* transactions do not take sb_internal.
|
||||
*/
|
||||
xchk_trans_cancel(sc);
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
while ((error = xchk_iscan_iter(&xqc->iscan, &ip)) == 1) {
|
||||
error = xqcheck_collect_inode(xqc, ip);
|
||||
|
|
|
|||
|
|
@ -951,9 +951,7 @@ xrep_rmap_find_rmaps(
|
|||
sa->agf_bp = NULL;
|
||||
sa->agi_bp = NULL;
|
||||
xchk_trans_cancel(sc);
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
/* Iterate all AGs for inodes rmaps. */
|
||||
while ((error = xchk_iscan_iter(&rr->iscan, &ip)) == 1) {
|
||||
|
|
|
|||
|
|
@ -580,9 +580,7 @@ xrep_rtrmap_find_rmaps(
|
|||
*/
|
||||
xchk_trans_cancel(sc);
|
||||
xchk_rtgroup_unlock(&sc->sr);
|
||||
error = xchk_trans_alloc_empty(sc);
|
||||
if (error)
|
||||
return error;
|
||||
xchk_trans_alloc_empty(sc);
|
||||
|
||||
while ((error = xchk_iscan_iter(&rr->iscan, &ip)) == 1) {
|
||||
error = xrep_rtrmap_scan_inode(rr, ip);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user