diff options
| author | Darrick J. Wong <djwong@kernel.org> | 2026-09-22 22:57:37 -0700 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-10-05 10:04:41 +0200 |
| commit | da483b8a9c2c3e7b23655699680feb57a194000c (patch) | |
| tree | 1f9ed5760fe6379cd2496fcec9a07388db71c7e8 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 23f91a51425ed3d4a5c42978fc25f1087611e4ba (diff) | |
xfs: fix missing xfs_qm_adjust_dqlimits call in quotacheck repair
LOLLM noticed that everywhere else in the kernel, a call to
xfs_qm_adjust_dqlimits precedes every call to xfs_qm_adjust_dqtimers.
In particular, mount-time quotacheck does this, but online quotacheck
does not.
Looking at xfs_qm_adjust_dqlimits, that function is in charge of
conveying default limits to a dquot if that dquot's limits have been
zeroed. That's quite possible in a repair, so we actually need to do
that.
However, there's a pre-existing pattern in the kernel -- for non-root
dquots, first we call xfs_qm_adjust_dqlimits to set the dquot's limits
to the defaults if they are zero, and then xfs_qm_adjust_dqtimers to
start grace periods if the dquot's usage is above the softlimit. The
grace period decision cannot be made correctly if we forget to import
the default limits.
Therefore, let's combine both into a single xfs_qm_adjust_dqenforcement
helper that takes care of both pieces, which fixes quotacheck and makes
it hard to repeat this mistake.
Cc: stable@vger.kernel.org # v6.9
Fixes: 96ed2ae4a9b06b ("xfs: repair dquots based on live quotacheck results")
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Assisted-by: LOLLM # finding obvious bugs
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
