]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit047673c1e7c9f28a17c2b37bfca7d4a821f0a67f
tree27c3148fcce8de4d52dba528fd788e6c2059c9c8
parentb46d8be9644bd9f6415dfabb08c387f9b8dc0870
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