summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2018-04-26 05:05:50 -0400
committerJaegeuk Kim <jaegeuk@kernel.org>2018-05-31 14:31:49 -0400
commitb4c3ca8ba9a447ea5d1b3dd1082f112c8dda3562 (patch)
tree73309edfcc8c5e7ccb460dc5faefb1cc3b4a679e /fs/f2fs/segment.c
parentaf8ff65bb85df39159944811a241f0dd827f0d76 (diff)
f2fs: treat volatile file's data as hot one
Volatile file's data will be updated oftenly, so it'd better to place its data into hot data segment. In addition, for atomic file, we change to check FI_ATOMIC_FILE instead of FI_HOT_DATA to make code readability better. Signed-off-by: Chao Yu <yuchao0@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r--fs/f2fs/segment.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 916b16e768fb..9937265a63c5 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -309,7 +309,6 @@ void drop_inmem_pages(struct inode *inode)
309 mutex_unlock(&fi->inmem_lock); 309 mutex_unlock(&fi->inmem_lock);
310 310
311 clear_inode_flag(inode, FI_ATOMIC_FILE); 311 clear_inode_flag(inode, FI_ATOMIC_FILE);
312 clear_inode_flag(inode, FI_HOT_DATA);
313 stat_dec_atomic_write(inode); 312 stat_dec_atomic_write(inode);
314} 313}
315 314
@@ -2613,7 +2612,9 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
2613 if (is_cold_data(fio->page) || file_is_cold(inode)) 2612 if (is_cold_data(fio->page) || file_is_cold(inode))
2614 return CURSEG_COLD_DATA; 2613 return CURSEG_COLD_DATA;
2615 if (file_is_hot(inode) || 2614 if (file_is_hot(inode) ||
2616 is_inode_flag_set(inode, FI_HOT_DATA)) 2615 is_inode_flag_set(inode, FI_HOT_DATA) ||
2616 is_inode_flag_set(inode, FI_ATOMIC_FILE) ||
2617 is_inode_flag_set(inode, FI_VOLATILE_FILE))
2617 return CURSEG_HOT_DATA; 2618 return CURSEG_HOT_DATA;
2618 return rw_hint_to_seg_type(inode->i_write_hint); 2619 return rw_hint_to_seg_type(inode->i_write_hint);
2619 } else { 2620 } else {