summary refs log tree commit diff
path: root/fs/xfs
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2005-11-02 15:14:09 +1100
committerNathan Scott <nathans@sgi.com>2005-11-02 15:14:09 +1100
commit19d5bcf370c64b1acb1e928b24baf3b68cec914b (patch)
tree84aa38ea3ffa871f610ae914b93fe0dddc9442df /fs/xfs
parenta749ee86152a0caed3b0c2fbc50a00277e306ec6 (diff)
downloadlinux-19d5bcf370c64b1acb1e928b24baf3b68cec914b.tar.gz
[XFS] Ensure fsync does not incorrectly return EIO for pages beyond EOF.
SGI-PV: 944819
SGI-Modid: xfs-linux:xfs-kern:24236a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/linux-2.6/xfs_aops.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index 1f38b528f0bd..c6108971b4e6 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -748,8 +748,9 @@ xfs_page_state_convert(
 	if (page->index >= end_index) {
 		if ((page->index >= end_index + 1) ||
 		    !(i_size_read(inode) & (PAGE_CACHE_SIZE - 1))) {
-			err = -EIO;
-			goto error;
+			if (startio)
+				unlock_page(page);
+			return 0;
 		}
 	}