]> git.ipfire.org Git - people/ms/linux.git/commit - fs/gfs2/file.c
GFS2: Fix bug trap and journaled data fsync
authorSteven Whitehouse <swhiteho@redhat.com>
Fri, 5 Aug 2011 09:12:47 +0000 (10:12 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 21 Oct 2011 11:39:25 +0000 (12:39 +0100)
commitf18185291d605ea9e442e00e2cf6c917a84d9837
tree27c3148fcce8de4d52dba528fd788e6c2059c9c8
parent40ac218f52aa5cac7dc8082f28b61c8b2b29373c
GFS2: Fix bug trap and journaled data fsync

Journaled data requires that a complete flush of all dirty data for
the file is done, in order that the ail flush which comes after
will succeed.

Also the recently enhanced bug trap can trigger falsely in case
an ail flush from fsync races with a page read. This updates the
bug trap such that it will ignore buffers which are locked and
only trigger on dirty and/or pinned buffers when the ail flush
is run from fsync. The original bug trap is retained when ail
flush is run from ->go_sync()

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