aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2016-06-13 09:47:48 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2016-07-06 10:44:07 -0700
commit52763a4b7a2112743745c5bbfe43fe6f54d4b39a (patch)
tree42b1ca3efc444ed16b29796fd13d7054737ab20c /fs/f2fs/segment.c
parentf2fs: call update_inode_page for orphan inodes (diff)
downloadlinux-dev-52763a4b7a2112743745c5bbfe43fe6f54d4b39a.tar.xz
linux-dev-52763a4b7a2112743745c5bbfe43fe6f54d4b39a.zip
f2fs: detect host-managed SMR by feature flag
If mkfs.f2fs gives a feature flag for host-managed SMR, we can set mode=lfs by default. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r--fs/f2fs/segment.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 4792f94089f7..782975e791f1 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -2402,7 +2402,8 @@ int build_segment_manager(struct f2fs_sb_info *sbi)
sm_info->ssa_blkaddr = le32_to_cpu(raw_super->ssa_blkaddr);
sm_info->rec_prefree_segments = sm_info->main_segments *
DEF_RECLAIM_PREFREE_SEGMENTS / 100;
- sm_info->ipu_policy = 1 << F2FS_IPU_FSYNC;
+ if (!test_opt(sbi, LFS))
+ sm_info->ipu_policy = 1 << F2FS_IPU_FSYNC;
sm_info->min_ipu_util = DEF_MIN_IPU_UTIL;
sm_info->min_fsync_blocks = DEF_MIN_FSYNC_BLOCKS;