diff options
author | Nathan Scott <nathans@sgi.com> | 2005-11-02 05:14:09 +0100 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-11-02 05:14:09 +0100 |
commit | 19d5bcf370c64b1acb1e928b24baf3b68cec914b (patch) | |
tree | 84aa38ea3ffa871f610ae914b93fe0dddc9442df /fs/xfs | |
parent | [XFS] Fix calculation of reserved AGs for inodes in 32-bit inode mode (diff) | |
download | linux-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.c | 5 |
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; } } |