summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2008-05-19 16:29:46 +1000
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-05-23 15:25:25 +1000
commit978b7237123d007b9fa983af6e0e2fa8f97f9934 (patch)
treeed4c8af42502efeb7ae79b166bb5890347b3de93 /fs/nfs
parentc1e554aeea12d2dab5183e011c27dee6142dc927 (diff)
[XFS] Fix fsync() b0rkage.
xfs_fsync() fails to wait for data I/O completion before checking if the inode is dirty or clean to decide whether to log the inode or not. This misses inode size updates when the data flushed by the fsync() is extending the file. Hence, like fdatasync(), we need to wait for I/o completion first, then check the inode for cleanliness. Doing so makes the behaviour of xfs_fsync() identical for fsync and fdatasync and we *always* use synchronous semantics if the inode is dirty. Therefore also kill the differences and remove the unused flags from the xfs_fsync function and callers. SGI-PV: 981296 SGI-Modid: xfs-linux-melb:xfs-kern:31033a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/nfs')
0 files changed, 0 insertions, 0 deletions