浏览代码

f2fs: fix to call WRITE_FLUSH at the end of fsync

The fsync call should be ended after flushing the in-device caches.

Reviewed-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Jaegeuk Kim 12 年之前
父节点
当前提交
ae51fb31b8
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      fs/f2fs/file.c

+ 2 - 0
fs/f2fs/file.c

@@ -13,6 +13,7 @@
 #include <linux/stat.h>
 #include <linux/stat.h>
 #include <linux/buffer_head.h>
 #include <linux/buffer_head.h>
 #include <linux/writeback.h>
 #include <linux/writeback.h>
+#include <linux/blkdev.h>
 #include <linux/falloc.h>
 #include <linux/falloc.h>
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/compat.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,
 		filemap_fdatawait_range(sbi->node_inode->i_mapping,
 							0, LONG_MAX);
 							0, LONG_MAX);
+		ret = blkdev_issue_flush(inode->i_sb->s_bdev, GFP_KERNEL, NULL);
 	}
 	}
 out:
 out:
 	mutex_unlock(&inode->i_mutex);
 	mutex_unlock(&inode->i_mutex);