From: Fabian Frederick Date: Thu, 22 May 2014 00:42:35 +0000 (+1000) Subject: fs/ext4/fsync.c: generic_file_fsync call based on barrier flag X-Git-Tag: next-20140530~2^2~415 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=521f103d2ab7fa671e2038d34ec41f081acd4e40;p=karo-tx-linux.git fs/ext4/fsync.c: generic_file_fsync call based on barrier flag generic_file_fsync has been updated to issue a flush for older filesystems. This patch tests for barrier flag in ext4 mount flags and calls the right function. Signed-off-by: Fabian Frederick Suggested-by: Jan Kara Suggested-by: Christoph Hellwig Cc: Jan Kara Cc: Christoph Hellwig Cc: Alexander Viro Cc: "Theodore Ts'o" Signed-off-by: Andrew Morton --- diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index a8bc47f75fa0..5b6e9f246233 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c @@ -107,7 +107,10 @@ int ext4_sync_file(struct file *file, loff_t start, loff_t end, int datasync) } if (!journal) { - ret = generic_file_fsync(file, start, end, datasync); + if (test_opt(inode->i_sb, BARRIER)) + ret = generic_file_fsync(file, start, end, datasync); + else + ret = __generic_file_fsync(file, start, end, datasync); if (!ret && !hlist_empty(&inode->i_dentry)) ret = ext4_sync_parent(inode); goto out;