summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2005-11-02 05:14:09 +0100
committerNathan Scott <nathans@sgi.com>2005-11-02 05:14:09 +0100
commit19d5bcf370c64b1acb1e928b24baf3b68cec914b (patch)
tree84aa38ea3ffa871f610ae914b93fe0dddc9442df /fs/xfs
parent[XFS] Fix calculation of reserved AGs for inodes in 32-bit inode mode (diff)
downloadlinux-19d5bcf370c64b1acb1e928b24baf3b68cec914b.tar.xz
linux-19d5bcf370c64b1acb1e928b24baf3b68cec914b.zip
[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;
}
}