diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 1a96cac31791b980d91a856d9eb2cd4086517ce3..07267e0da909410294a3f330eb08fea5d1feefb8 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -187,6 +187,9 @@ static int ocfs2_sync_file(struct file *file, if (err) goto bail; + if (datasync && !(inode->i_state & I_DIRTY_DATASYNC)) + goto bail; + journal = osb->journal->j_journal; err = jbd2_journal_force_commit(journal);