• D
    xfs: block callers of xfs_flush_inodes() correctly · e43afd72
    Dave Chinner 提交于
    xfs_flush_inodes() currently uses a magic timeout to wait for
    some inodes to be flushed before returning. This isn't
    really reliable but used to be the best that could be done
    due to deadlock potential of waiting for the entire flush.
    
    Now the inode flush is safe to execute while we hold page
    and inode locks, we can wait for all the inodes to flush
    synchronously. Convert the wait mechanism to a completion
    to do this efficiently. This should remove all remaining
    spurious ENOSPC errors from the delayed allocation reservation
    path.
    
    This is extracted almost line for line from a larger patch
    from Mikulas Patocka.
    Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: NDave Chinner <david@fromorbit.com>
    Reviewed-by: NChristoph Hellwig <hch@lst.de>
    e43afd72
xfs_sync.c 18.0 KB