summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorYunlei He <heyunlei@huawei.com>2018-03-07 09:22:50 +0100
committerJaegeuk Kim <jaegeuk@kernel.org>2018-03-17 05:57:29 +0100
commit5d7881cadf64277c1e212721073eaabfade12f66 (patch)
treec04dda01be0951d2ecdb60af1ccca54f0fe1018e /fs/f2fs
parentf2fs: introduce mount option for fsync mode (diff)
downloadlinux-5d7881cadf64277c1e212721073eaabfade12f66.tar.xz
linux-5d7881cadf64277c1e212721073eaabfade12f66.zip
f2fs: Don't overwrite all types of node to keep node chain
Currently, we enable node SSR by default, and mixed different types of node segment to do SSR more intensively. Although reuse warm node is not allowed, warm node chain will be destroyed by errors introduced by other types node chain. So we'd better forbid reusing all types of node to keep warm node chain. Signed-off-by: Yunlei He <heyunlei@huawei.com> Reviewed-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/segment.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index f61c77bd673c..570e02d89cbc 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1862,7 +1862,7 @@ static void update_sit_entry(struct f2fs_sb_info *sbi, block_t blkaddr, int del)
sbi->discard_blks--;
/* don't overwrite by SSR to keep node chain */
- if (se->type == CURSEG_WARM_NODE) {
+ if (IS_NODESEG(se->type)) {
if (!f2fs_test_and_set_bit(offset, se->ckpt_valid_map))
se->ckpt_valid_blocks++;
}