f2fs: enhance multiple device flush
authorChao Yu <yuchao0@huawei.com>
Fri, 29 Sep 2017 05:59:38 +0000 (13:59 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 10 Oct 2017 19:49:53 +0000 (12:49 -0700)
commit39d787bec4f792e69e24b11aa3d61ae1c0e4830b
treec14671bb15decf284dd01b66ccd4a2814e6d91c1
parentb77061bfcbfb72bda6f583d93589e3783f9dab59
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>
fs/f2fs/checkpoint.c
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/inline.c
fs/f2fs/inode.c
fs/f2fs/node.c
fs/f2fs/segment.c