diff options
author | Nathan Scott <nathans@sgi.com> | 2005-11-01 23:14:09 -0500 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-11-01 23:14:09 -0500 |
commit | 19d5bcf370c64b1acb1e928b24baf3b68cec914b (patch) | |
tree | 84aa38ea3ffa871f610ae914b93fe0dddc9442df /fs/xfs | |
parent | a749ee86152a0caed3b0c2fbc50a00277e306ec6 (diff) |
[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( | |||
748 | if (page->index >= end_index) { | 748 | if (page->index >= end_index) { |
749 | if ((page->index >= end_index + 1) || | 749 | if ((page->index >= end_index + 1) || |
750 | !(i_size_read(inode) & (PAGE_CACHE_SIZE - 1))) { | 750 | !(i_size_read(inode) & (PAGE_CACHE_SIZE - 1))) { |
751 | err = -EIO; | 751 | if (startio) |
752 | goto error; | 752 | unlock_page(page); |
753 | return 0; | ||
753 | } | 754 | } |
754 | } | 755 | } |
755 | 756 | ||