ocfs2: honor O_(D)SYNC flag in fallocate
authorMark Fasheh <mfasheh@suse.de>
Wed, 16 Nov 2011 20:03:10 +0000 (12:03 -0800)
committerJoel Becker <jlbec@evilplan.org>
Thu, 17 Nov 2011 10:15:58 +0000 (02:15 -0800)
We need to sync the transaction which updates i_size if the file is marked
as needing sync semantics.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Signed-off-by: Joel Becker <jlbec@evilplan.org>
fs/ocfs2/file.c

index 5c4a74e04ab4b67e9e64a533f1968955b4d11eca..09e3de57cdee362b566d06876142b3d4cdeede7c 100644 (file)
@@ -1950,6 +1950,9 @@ static int __ocfs2_change_file_space(struct file *file, struct inode *inode,
        if (ret < 0)
                mlog_errno(ret);
 
+       if (file->f_flags & O_SYNC)
+               handle->h_sync = 1;
+
        ocfs2_commit_trans(osb, handle);
 
 out_inode_unlock: