summaryrefslogtreecommitdiff
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-11-05 20:05:53 -0800
committerJaegeuk Kim <jaegeuk@kernel.org>2014-11-05 20:05:53 -0800
commita344b9fda0cc2eda54433227837029d410dfb12f (patch)
tree9a974eb5b2ae721da7fb50b8301149ad153f06f2 /fs/f2fs
parentd5053a34a9cc797b9d5d77574354b5555848c43c (diff)
f2fs: disable roll-forward when active_logs = 2
The roll-forward mechanism should be activated when the number of active logs is not 2. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/file.c2
-rw-r--r--fs/f2fs/segment.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 46311e7b388a..54722a0a5be5 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -132,6 +132,8 @@ static inline bool need_do_checkpoint(struct inode *inode)
need_cp = true;
else if (test_opt(sbi, FASTBOOT))
need_cp = true;
+ else if (sbi->active_logs == 2)
+ need_cp = true;
return need_cp;
}
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 2fb3d7f71c4e..16721b5dffa4 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1090,8 +1090,8 @@ static int __get_segment_type_4(struct page *page, enum page_type p_type)
else
return CURSEG_COLD_DATA;
} else {
- if (IS_DNODE(page) && !is_cold_node(page))
- return CURSEG_HOT_NODE;
+ if (IS_DNODE(page) && is_cold_node(page))
+ return CURSEG_WARM_NODE;
else
return CURSEG_COLD_NODE;
}