• C
    xfs: reorder zeroing and flushing sequence in truncate · f0c6bcba
    Christoph Hellwig 提交于
    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: NChristoph Hellwig <hch@lst.de>
    Reviewed-by: NBob Peterson <rpeterso@redhat.com>
    Signed-off-by: NDave Chinner <david@fromorbit.com>
    
    
    f0c6bcba
xfs_iops.c 32.6 KB