summaryrefslogtreecommitdiff
path: root/fs/eventfd.c
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2020-02-19 17:01:32 -0800
committerDarrick J. Wong <darrick.wong@oracle.com>2020-03-03 18:47:33 -0800
commita54925f228cbf745e8063142cb50668d2986469f (patch)
tree74b7600a261fc3688b3172a865764051b5a8897f /fs/eventfd.c
parentc7c2ee7322bd75461457b9fba4dfd842a872e8b2 (diff)
xfs: measure all contiguous previous extents for prealloc sizestale-exposure_2020-03-03
When we're estimating a new speculative preallocation length for an extending write, we should walk backwards through the extent list to determine the number of number of blocks that are physically and logically contiguous with the write offset, and use that as an input to the preallocation size computation. This way, preallocation length is truly measured by the effectiveness of the allocator in giving us contiguous allocations without being influenced by the state of a given extent. This fixes both the problem where ZERO_RANGE within an EOF can reduce preallocation, and prevents the unnecessary shrinkage of preallocation when delalloc extents are turned into unwritten extents. This was found as a regression in xfs/014 after changing delalloc writes to create unwritten extents during writeback. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/eventfd.c')
0 files changed, 0 insertions, 0 deletions