summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_super.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2022-03-24 10:57:07 -0700
committerDarrick J. Wong <djwong@kernel.org>2022-03-27 09:55:34 -0700
commit9e09cba0b071777578d96ab324ec78a6d2c79a1e (patch)
tree58a8d352dd961cee56aa0b28f84df3429977eed3 /fs/xfs/xfs_super.c
parent8496ad7b550c6d8a8207c67c1a1bc37090864558 (diff)
xfs: fix overfilling of reserve pool
Due to cycling of m_sb_lock, it's possible for multiple callers of xfs_reserve_blocks to race at changing the pool size, subtracting blocks from fdblocks, and actually putting it in the pool. The result of all this is that we can overfill the reserve pool to hilarious levels. xfs_mod_fdblocks, when called with a positive value, already knows how to take freed blocks and either fill the reserve until it's full, or put them in fdblocks. Use that instead of setting m_resblks_avail directly. Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/xfs_super.c')
0 files changed, 0 insertions, 0 deletions