ext4: Wait for proper transaction commit on fsync
commiteebb744d30006474a8f63af098bc71f0cb209677
authorJan Kara <jack@suse.cz>
Wed, 9 Dec 2009 04:51:10 +0000 (8 23:51 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 14 Dec 2009 17:45:25 +0000 (14 09:45 -0800)
tree6a8c6fe1483fdd62fc9a75f8860394155cf2b3f6
parentcaa305aa349212c285ad9564b9ff2ffa040b193c
ext4: Wait for proper transaction commit on fsync

(cherry picked from commit b436b9bef84de6893e86346d8fbf7104bc520645)

We cannot rely on buffer dirty bits during fsync because pdflush can come
before fsync is called and clear dirty bits without forcing a transaction
commit. What we do is that we track which transaction has last changed
the inode and which transaction last changed allocation and force it to
disk on fsync.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/ext4/ext4.h
fs/ext4/ext4_jbd2.h
fs/ext4/extents.c
fs/ext4/fsync.c
fs/ext4/inode.c
fs/ext4/super.c
fs/jbd2/journal.c