xfs: fix dqiterate thinko
authorDarrick J. Wong <djwong@kernel.org>
Tue, 8 Aug 2023 02:40:30 +0000 (19:40 -0700)
committerChandan Babu R <chandan.babu@oracle.com>
Fri, 18 Aug 2023 08:12:36 +0000 (13:42 +0530)
For some unknown reason, when I converted the incore dquot objects to
store the dquot id in host endian order, I removed the increment here.
This causes the scan to stop after retrieving the root dquot, which
severely limits the usefulness of the quota scrubber.  Fix the lost
increment, though it won't fix the problem that the quota iterator code
filters out zeroed dquot records.

Fixes: c51df7334167e ("xfs: stop using q_core.d_id in the quota code")
Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Chandan Babu R <chandan.babu@oracle.com>
fs/xfs/xfs_dquot.c

index 7f07175..ac6ba64 100644 (file)
@@ -1386,7 +1386,7 @@ xfs_qm_dqiterate(
                        return error;
 
                error = iter_fn(dq, type, priv);
-               id = dq->q_id;
+               id = dq->q_id + 1;
                xfs_qm_dqput(dq);
        } while (error == 0 && id != 0);