diff options
| author | Christoph Hellwig <hch@lst.de> | 2016-06-21 09:52:47 +1000 | 
|---|---|---|
| committer | Dave Chinner <david@fromorbit.com> | 2016-06-21 09:52:47 +1000 | 
| commit | f0c6bcba74ac51cb77aadb33ad35cb2dc1ad1506 (patch) | |
| tree | c4674d611e81f13021becc33e08ebd2a411d47c4 /fs/proc/array.c | |
| parent | 3b3dce05279b97525741b7949208017307e05621 (diff) | |
xfs: reorder zeroing and flushing sequence in truncate
Currently zeroing out blocks and waiting for writeout is a bit of a mess in
truncate.  This patch gives it a clear order in preparation for the iomap
path:
 (1) we first wait for any direct I/O to complete to prevent any races
     for it
 (2) we then perform the actual zeroing, and only use the truncate_page
     helpers for truncating down.  The truncate up case already is
     handled by the separate call to xfs_zero_eof.
 (3) only then we write back dirty data, as zeroing block may cause
     dirty pages when using either xfs_zero_eof or the new iomap
     infrastructure.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions
