diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-11-06 07:05:53 +0300 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-11-06 07:05:53 +0300 |
commit | a344b9fda0cc2eda54433227837029d410dfb12f (patch) | |
tree | 9a974eb5b2ae721da7fb50b8301149ad153f06f2 /fs | |
parent | d5053a34a9cc797b9d5d77574354b5555848c43c (diff) | |
download | linux-a344b9fda0cc2eda54433227837029d410dfb12f.tar.xz |
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')
-rw-r--r-- | fs/f2fs/file.c | 2 | ||||
-rw-r--r-- | fs/f2fs/segment.c | 4 |
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; } |