linux/fs/xfs/linux-2.6
Dave Chinner 2e6560929d [XFS] fix error inversion problems with data flushing
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: Dave Chinner <david@fromorbit.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Niv Sardi <xaiki@sgi.com>
2008-12-01 11:11:10 +11:00
..
kmem.c [XFS] kmem_free and kmem_realloc to use const void * 2008-07-28 16:58:43 +10:00
kmem.h [XFS] kmem_free and kmem_realloc to use const void * 2008-07-28 16:58:43 +10:00
mrlock.h [XFS] shrink mrlock_t 2008-04-29 15:54:02 +10:00
mutex.h [XFS] mutex fallout - fix debug builds and remove no-longer-useful comment. 2006-01-16 16:21:34 +11:00
sv.h [XFS] Collapse sv_init and init_sv into just the one interface. 2006-09-28 11:05:52 +10:00
time.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_aops.c [XFS] Never call mark_inode_dirty_sync() directly 2008-10-30 17:21:30 +11:00
xfs_aops.h [XFS] move v_iocount from bhv_vnode to xfs_inode 2007-10-16 11:38:56 +10:00
xfs_buf.c Fix barrier fail detection in XFS 2008-10-10 11:08:07 -07:00
xfs_buf.h Fix barrier fail detection in XFS 2008-10-10 11:08:07 -07:00
xfs_cred.h CRED: Wrap task credential accesses in the XFS filesystem 2008-10-31 15:50:04 +11:00
xfs_dmapi_priv.h [XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h 2006-11-11 18:05:06 +11:00
xfs_export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
xfs_export.h xfs: new export ops 2007-10-22 08:13:20 -07:00
xfs_file.c [XFS] wire up ->open for directories 2008-12-01 11:07:08 +11:00
xfs_fs_subr.c [XFS] fix error inversion problems with data flushing 2008-12-01 11:11:10 +11:00
xfs_fs_subr.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_globals.c [XFS] remove restricted chown parameter from xfs linux 2008-10-30 18:30:48 +11:00
xfs_globals.h [XFS] kill sys_cred 2008-10-30 18:27:48 +11:00
xfs_ioctl.c CRED: Wrap task credential accesses in the XFS filesystem 2008-10-31 15:50:04 +11:00
xfs_ioctl32.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_ioctl32.h [XFS] Fix compiler warning from xfs_file_compat_invis_ioctl prototype. 2006-03-20 13:25:48 +11:00
xfs_iops.c [XFS] Avoid using inodes that haven't been completely initialised 2008-11-10 17:13:23 +11:00
xfs_iops.h [XFS] stop using file_update_time 2008-08-13 16:48:12 +10:00
xfs_linux.h [XFS] allow inode64 mount option on 32 bit systems 2008-12-01 11:07:20 +11:00
xfs_lrw.c [XFS] fix error inversion problems with data flushing 2008-12-01 11:11:10 +11:00
xfs_lrw.h [XFS] remove sendfile leftovers 2008-04-29 16:08:14 +10:00
xfs_stats.c [XFS] fix spurious gcc warnings 2008-12-01 11:07:37 +11:00
xfs_stats.h [XFS] add new btree statistics 2008-10-30 16:55:03 +11:00
xfs_super.c [XFS] fix error inversion problems with data flushing 2008-12-01 11:11:10 +11:00
xfs_super.h [XFS] move xfssyncd code to xfs_sync.c 2008-10-30 17:06:18 +11:00
xfs_sync.c [XFS] Avoid using inodes that haven't been completely initialised 2008-11-10 17:13:23 +11:00
xfs_sync.h [XFS] mark inodes for reclaim via a tag in the inode radix tree 2008-10-30 17:37:26 +11:00
xfs_sysctl.c [XFS] remove restricted chown parameter from xfs linux 2008-10-30 18:30:48 +11:00
xfs_sysctl.h [XFS] remove restricted chown parameter from xfs linux 2008-10-30 18:30:48 +11:00
xfs_version.h [XFS] Update license/copyright notices to match the prefered SGI 2005-11-02 14:58:39 +11:00
xfs_vfs.h [XFS] move xfssyncd code to xfs_sync.c 2008-10-30 17:06:18 +11:00
xfs_vnode.c [XFS] Combine the XFS and Linux inodes 2008-10-30 17:36:14 +11:00
xfs_vnode.h [XFS] Use struct inodes instead of vnodes to kill vn_grab 2008-10-30 17:15:03 +11:00
xfs_xattr.c [XFS] Remove vn_revalidate calls in xfs. 2008-07-28 16:59:39 +10:00