summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2017-09-29 07:59:38 +0200
committerJaegeuk Kim <jaegeuk@kernel.org>2017-10-10 21:49:53 +0200
commit39d787bec4f792e69e24b11aa3d61ae1c0e4830b (patch)
treec14671bb15decf284dd01b66ccd4a2814e6d91c1 /fs/f2fs/data.c
parentf2fs: fix to show ino management cache size correctly (diff)
downloadlinux-39d787bec4f792e69e24b11aa3d61ae1c0e4830b.tar.xz
linux-39d787bec4f792e69e24b11aa3d61ae1c0e4830b.zip
f2fs: enhance multiple device flush
When multiple device feature is enabled, during ->fsync we will issue flush in all devices to make sure node/data of the file being persisted into storage. But some flushes of device could be unneeded as file's data may be not writebacked into those devices. So this patch adds and manage bitmap per inode in global cache to indicate which device is dirty and it needs to issue flush during ->fsync, hence, we could improve performance of fsync in scenario of multiple device. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index a6288e276ff9..030fb5cf2b51 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1498,6 +1498,7 @@ static int __write_data_page(struct page *page, bool *submitted,
int err = 0;
struct f2fs_io_info fio = {
.sbi = sbi,
+ .ino = inode->i_ino,
.type = DATA,
.op = REQ_OP_WRITE,
.op_flags = wbc_to_write_flags(wbc),