• Dave Chinner's avatar
    [XFS] fix error inversion problems with data flushing · 2e656092
    Dave Chinner authored
    XFS gets the sign of the error wrong in several places when
    gathering the error from generic linux functions. These functions
    return negative error values, while the core XFS code returns
    positive error values. Hence when XFS inverts the error to be
    returned to the VFS, it can incorrectly invert a negative
    error and this error will be ignored by the syscall return.
    
    Fix all the problems related to calling filemap_* functions.
    
    Problem initially identified by Nick Piggin in xfs_fsync().
    Signed-off-by: default avatarDave Chinner <david@fromorbit.com>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarNiv Sardi <xaiki@sgi.com>
    2e656092
xfs_lrw.c 22.9 KB