]> err.no Git - linux-2.6/commit
[GFS2] Don't flush everything on fdatasync
authorSteven Whitehouse <swhiteho@redhat.com>
Thu, 30 Nov 2006 15:14:32 +0000 (10:14 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Thu, 30 Nov 2006 15:37:44 +0000 (10:37 -0500)
commit33c3de32872ef3c075e4dac04c0de8f86ac39f6f
tree32b8d14e4de17e78918ba8794c47781c1b069e2f
parentaac1a3c77a46c2d06f297641760dd740ac2a84af
[GFS2] Don't flush everything on fdatasync

The gfs2_fsync() function was doing a journal flush on each
and every call. While this is correct, its also a lot of
overhead. This patch means that on fdatasync flushes we
rely on the VFS to flush the data for us and we don't do
a journal flush unless we really need to.

We have to do a journal flush for stuffed files though because
they have the data and the inode metadata in the same block.
Journaled files also need a journal flush too of course.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/ops_file.c