summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_mount.h
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-10 17:42:22 -0700
commit16fea2ea811cfd080848444e9bef11bb47b4b982 (patch)
tree06b5b9e7076d943cfb2a97740b68c911e0efb16f /fs/xfs/xfs_mount.h
parentf05cf283b8e437f5375026cab5843da8b626a06d (diff)
xfs: measure all contiguous previous extents for prealloc sizestale-exposure_2020-03-10
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/xfs/xfs_mount.h')
0 files changed, 0 insertions, 0 deletions