ext4: fix cache flush in ext4_sync_file
authorChristoph Hellwig <hch@lst.de>
Sun, 6 Sep 2009 01:42:42 +0000 (21:42 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 6 Sep 2009 01:42:42 +0000 (21:42 -0400)
commit5f3481e9a80c240f169b36ea886e2325b9aeb745
tree435a8cf2be9c81a545f42d5af881450f8d121e74
parentd0646f7b636d067d715fab52a2ba9c6f0f46b0d7
ext4: fix cache flush in ext4_sync_file

We need to flush the write cache unconditionally in ->fsync, otherwise
writes into already allocated blocks can get lost.  Writes into fully
allocated files are very common when using disk images for
virtualization, and without this fix can easily lose data after
an fdatasync, which is the typical implementation for a cache flush on
the virtual drive.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/fsync.c