diff options
author | Mark Fasheh <mfasheh@suse.de> | 2011-11-16 12:03:10 -0800 |
---|---|---|
committer | Joel Becker <jlbec@evilplan.org> | 2011-11-17 02:15:58 -0800 |
commit | df295d4a4b3c98af1a2445a82aef169e7e5d96b8 (patch) | |
tree | e262858cac79bdffe8e139aa5d445e0b4bb9b8a0 /fs/ocfs2 | |
parent | 0393afea31874947b1d149b82d17b7dccac4f210 (diff) | |
download | talos-op-linux-df295d4a4b3c98af1a2445a82aef169e7e5d96b8.tar.gz talos-op-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')
-rw-r--r-- | fs/ocfs2/file.c | 3 |
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: |