浏览代码

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>
Mark Fasheh 13 年之前
父节点
当前提交
df295d4a4b
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      fs/ocfs2/file.c

+ 3 - 0
fs/ocfs2/file.c

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