summaryrefslogtreecommitdiffstats
path: root/fs/ocfs2/file.c
diff options
context:
space:
mode:
authorMark Fasheh2011-11-16 21:03:10 +0100
committerJoel Becker2011-11-17 11:15:58 +0100
commitdf295d4a4b3c98af1a2445a82aef169e7e5d96b8 (patch)
treee262858cac79bdffe8e139aa5d445e0b4bb9b8a0 /fs/ocfs2/file.c
parentocfs2: Add a missing journal credit in ocfs2_link_credits() -v2 (diff)
downloadkernel-qcow2-linux-df295d4a4b3c98af1a2445a82aef169e7e5d96b8.tar.gz
kernel-qcow2-linux-df295d4a4b3c98af1a2445a82aef169e7e5d96b8.tar.xz
kernel-qcow2-linux-df295d4a4b3c98af1a2445a82aef169e7e5d96b8.zip
ocfs2: honor O_(D)SYNC flag in fallocate
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>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r--fs/ocfs2/file.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c
index 5c4a74e04ab4..09e3de57cdee 100644
--- a/fs/ocfs2/file.c
+++ b/fs/ocfs2/file.c
@@ -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: