f2fs: enable in-place-update for fdatasync
[deliverable/linux.git] / fs / f2fs / file.c
index 9b888fbf08b64335dbb6565ccae3174d76d0a72b..95501358932c6e49eeaad2bddb72b6853e52d00b 100644 (file)
@@ -127,7 +127,14 @@ int f2fs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
                return 0;
 
        trace_f2fs_sync_file_enter(inode);
+
+       /* if fdatasync is triggered, let's do in-place-update */
+       if (datasync)
+               set_inode_flag(fi, FI_NEED_IPU);
+
        ret = filemap_write_and_wait_range(inode->i_mapping, start, end);
+       if (datasync)
+               clear_inode_flag(fi, FI_NEED_IPU);
        if (ret) {
                trace_f2fs_sync_file_exit(inode, need_cp, datasync, ret);
                return ret;
This page took 0.024623 seconds and 5 git commands to generate.