The fsync call should be ended after flushing the in-device caches.
Signed-off-by: Jaegeuk Kim <[email protected]>
---
fs/f2fs/file.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 269645e..ff018a4 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -13,6 +13,7 @@
#include <linux/stat.h>
#include <linux/buffer_head.h>
#include <linux/writeback.h>
+#include <linux/blkdev.h>
#include <linux/falloc.h>
#include <linux/types.h>
#include <linux/compat.h>
@@ -178,6 +179,7 @@ int f2fs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
}
filemap_fdatawait_range(sbi->node_inode->i_mapping,
0, LONG_MAX);
+ ret = blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
}
out:
mutex_unlock(&inode->i_mutex);
--
1.8.1.3.566.gaa39828
2013/3/18, Jaegeuk Kim <[email protected]>:
> The fsync call should be ended after flushing the in-device caches.
>
> Signed-off-by: Jaegeuk Kim <[email protected]>
Reviewed-by: Namjae Jeon <[email protected]>
Looks good!
Thanks.