diff options
author | Christoph Hellwig <hch@lst.de> | 2017-02-07 23:06:57 +0100 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2017-02-09 19:50:25 +0100 |
commit | ebf55872616c7d4754db5a318591a72a8d5e6896 (patch) | |
tree | fd88d14b7765f0834273807a14ee931519029438 /Documentation | |
parent | xfs: don't fail xfs_extent_busy allocation (diff) | |
download | linux-ebf55872616c7d4754db5a318591a72a8d5e6896.tar.xz linux-ebf55872616c7d4754db5a318591a72a8d5e6896.zip |
xfs: improve handling of busy extents in the low-level allocator
Currently we force the log and simply try again if we hit a busy extent,
but especially with online discard enabled it might take a while after
the log force for the busy extents to disappear, and we might have
already completed our second pass.
So instead we add a new waitqueue and a generation counter to the pag
structure so that we can do wakeups once we've removed busy extents,
and we replace the single retry with an unconditional one - after
all we hold the AGF buffer lock, so no other allocations or frees
can be racing with us in this AG.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions