f2fs: introduce mount option for fsync mode
authorJunling Zheng <zhengjunling@huawei.com>
Wed, 7 Mar 2018 04:07:49 +0000 (12:07 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Sat, 17 Mar 2018 04:57:28 +0000 (13:57 +0900)
commit93cf93f17c8ef7c03d828914eaef88d8e585490d
treec6b82ef66fd921f65c8b15dade3dec74395d09db
parenteea52882d848827ca812282118cd17025a76a891
f2fs: introduce mount option for fsync mode

Commit "0a007b97aad6"(f2fs: recover directory operations by fsync)
fixed xfstest generic/342 case, but it also increased the written
data and caused the performance degradation. In most cases, there's
no need to do so heavy fsync actually.

So we introduce new mount option "fsync_mode={posix,strict}" to
control the policy of fsync. "fsync_mode=posix" is set by default,
and means that f2fs uses a light fsync, which follows POSIX semantics.
And "fsync_mode=strict" means that it's a heavy fsync, which behaves
in line with xfs, ext4 and btrfs, where generic/342 will pass, but
the performance will regress.

Signed-off-by: Junling Zheng <zhengjunling@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Documentation/filesystems/f2fs.txt
fs/f2fs/dir.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/namei.c
fs/f2fs/super.c