Commit f8c2a225 authored by Darrick J. Wong's avatar Darrick J. Wong
Browse files

xfs: collapse scrub bool state flags into a single unsigned int



Combine all the boolean state flags in struct xfs_scrub into a single
unsigned int, because we're going to be adding more state flags soon.

Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: default avatarDave Chinner <dchinner@redhat.com>
parent 9d71e155
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ xchk_setup_ag_iallocbt(
	struct xfs_scrub	*sc,
	struct xfs_inode	*ip)
{
	return xchk_setup_ag_btree(sc, ip, sc->try_harder);
	return xchk_setup_ag_btree(sc, ip, sc->flags & XCHK_TRY_HARDER);
}

/* Inode btree scrubber. */
@@ -185,7 +185,7 @@ xchk_iallocbt_check_cluster_ifree(
	if (error == -ENODATA) {
		/* Not cached, just read the disk buffer */
		freemask_ok = irec_free ^ !!(dip->di_mode);
		if (!bs->sc->try_harder && !freemask_ok)
		if (!(bs->sc->flags & XCHK_TRY_HARDER) && !freemask_ok)
			return -EDEADLOCK;
	} else if (error < 0) {
		/*
+1 −1
Original line number Diff line number Diff line
@@ -320,7 +320,7 @@ out:
	 * If we failed to lock the parent inode even after a retry, just mark
	 * this scrub incomplete and return.
	 */
	if (sc->try_harder && error == -EDEADLOCK) {
	if ((sc->flags & XCHK_TRY_HARDER) && error == -EDEADLOCK) {
		error = 0;
		xchk_set_incomplete(sc);
	}
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ xchk_setup_quota(
	dqtype = xchk_quota_to_dqtype(sc);
	if (dqtype == 0)
		return -EINVAL;
	sc->has_quotaofflock = true;
	sc->flags |= XCHK_HAS_QUOTAOFFLOCK;
	mutex_lock(&sc->mp->m_quotainfo->qi_quotaofflock);
	if (!xfs_this_quota_on(sc->mp, dqtype))
		return -ENOENT;
+2 −2
Original line number Diff line number Diff line
@@ -71,8 +71,8 @@ xrep_attempt(
	case -EDEADLOCK:
	case -EAGAIN:
		/* Tell the caller to try again having grabbed all the locks. */
		if (!sc->try_harder) {
			sc->try_harder = true;
		if (!(sc->flags & XCHK_TRY_HARDER)) {
			sc->flags |= XCHK_TRY_HARDER;
			return -EAGAIN;
		}
		/*
+4 −4
Original line number Diff line number Diff line
@@ -186,9 +186,9 @@ xchk_teardown(
			xfs_irele(sc->ip);
		sc->ip = NULL;
	}
	if (sc->has_quotaofflock) {
	if (sc->flags & XCHK_HAS_QUOTAOFFLOCK) {
		mutex_unlock(&sc->mp->m_quotainfo->qi_quotaofflock);
		sc->has_quotaofflock = false;
		sc->flags &= ~XCHK_HAS_QUOTAOFFLOCK;
	}
	if (sc->buf) {
		kmem_free(sc->buf);
@@ -507,7 +507,7 @@ retry_op:

	/* Scrub for errors. */
	error = sc.ops->scrub(&sc);
	if (!sc.try_harder && error == -EDEADLOCK) {
	if (!(sc.flags & XCHK_TRY_HARDER) && error == -EDEADLOCK) {
		/*
		 * Scrubbers return -EDEADLOCK to mean 'try harder'.
		 * Tear down everything we hold, then set up again with
@@ -516,7 +516,7 @@ retry_op:
		error = xchk_teardown(&sc, ip, 0);
		if (error)
			goto out;
		sc.try_harder = true;
		sc.flags |= XCHK_TRY_HARDER;
		goto retry_op;
	} else if (error)
		goto out_teardown;
Loading