summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-16 11:13:04 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-03-20 18:30:14 +0900
commitae51fb31b8c3eb0cedc223782832be393e53623b (patch)
treef6e566eb2ce50878599963f0ba11bf5ac237ef13
parent04431c44e55613a91ced16c523f749c08dff91bf (diff)
downloadlinux-stable-ae51fb31b8c3eb0cedc223782832be393e53623b.tar.gz
linux-stable-ae51fb31b8c3eb0cedc223782832be393e53623b.tar.bz2
linux-stable-ae51fb31b8c3eb0cedc223782832be393e53623b.zip
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>
-rw-r--r--fs/f2fs/file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 269645e23519..ff018a42e435 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);