Commit 712d361d authored by Eric Sandeen's avatar Eric Sandeen Committed by Darrick J. Wong

xfs: calculate correct offset in xfs_scrub_quota_item

It's only used for tracepoints so it's relatively harmless,
but the offset is calculated incorrectly in xfs_scrub_quota_item.

qi_dqperchunk is the nr. of dquots per "chunk" which we have
conveniently *cough* defined to always be 1 FSB.  Therefore
block_offset * qi_dqperchunk == first id in that chunk,
and so offset = id / qi_dqperchunk

id * dqperchunk is ... meaningless.

Fixes-coverity-id: 1423965
Fixes: c2fc338c ("xfs: scrub quota information")
Signed-off-by: default avatarEric Sandeen <sandeen@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
parent eda6bc27
...@@ -107,7 +107,7 @@ xfs_scrub_quota_item( ...@@ -107,7 +107,7 @@ xfs_scrub_quota_item(
unsigned long long rcount; unsigned long long rcount;
xfs_ino_t fs_icount; xfs_ino_t fs_icount;
offset = id * qi->qi_dqperchunk; offset = id / qi->qi_dqperchunk;
/* /*
* We fed $id and DQNEXT into the xfs_qm_dqget call, which means * We fed $id and DQNEXT into the xfs_qm_dqget call, which means
......
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