[XFS] Ensure fsync does not incorrectly return EIO for pages beyond EOF.
authorNathan Scott <nathans@sgi.com>
Wed, 2 Nov 2005 04:14:09 +0000 (15:14 +1100)
committerNathan Scott <nathans@sgi.com>
Wed, 2 Nov 2005 04:14:09 +0000 (15:14 +1100)
SGI-PV: 944819
SGI-Modid: xfs-linux:xfs-kern:24236a

Signed-off-by: Nathan Scott <nathans@sgi.com>
fs/xfs/linux-2.6/xfs_aops.c

index 1f38b528f0bd43855109abc16223c31f7fa82a59..c6108971b4e6a4febd84be420c6da7b832acf768 100644 (file)
@@ -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;
                }
        }