ext4: Wait for proper transaction commit on fsync
authorJan Kara <jack@suse.cz>
Wed, 9 Dec 2009 04:51:10 +0000 (23:51 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 9 Dec 2009 04:51:10 +0000 (23:51 -0500)
commitb436b9bef84de6893e86346d8fbf7104bc520645
tree50fb9ae167bcd622e9adf47646bcf3b4c7dd111d
parent194074acacebc169ded90a4657193f5180015051
ext4: Wait for proper transaction commit on fsync

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>
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