Skip to content
  • Christoph Hellwig's avatar
    xfs: reorder zeroing and flushing sequence in truncate · f0c6bcba
    Christoph Hellwig authored
    
    
    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: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarBob Peterson <rpeterso@redhat.com>
    Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
    
    
    f0c6bcba