Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f85501db authored by Chao Yu's avatar Chao Yu Committed by Jaegeuk Kim
Browse files

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: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent a6491e35
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -1701,7 +1701,6 @@ static int f2fs_ioc_start_atomic_write(struct file *filp)
	if (ret)
		goto out;
skip_flush:
	set_inode_flag(inode, FI_HOT_DATA);
	set_inode_flag(inode, FI_ATOMIC_FILE);
	f2fs_update_time(F2FS_I_SB(inode), REQ_TIME);

@@ -1744,7 +1743,6 @@ static int f2fs_ioc_commit_atomic_write(struct file *filp)
		ret = f2fs_do_sync_file(filp, 0, LLONG_MAX, 0, true);
		if (!ret) {
			clear_inode_flag(inode, FI_ATOMIC_FILE);
			clear_inode_flag(inode, FI_HOT_DATA);
			stat_dec_atomic_write(inode);
		}
	} else {
+3 −2
Original line number Diff line number Diff line
@@ -309,7 +309,6 @@ void drop_inmem_pages(struct inode *inode)
	mutex_unlock(&fi->inmem_lock);

	clear_inode_flag(inode, FI_ATOMIC_FILE);
	clear_inode_flag(inode, FI_HOT_DATA);
	stat_dec_atomic_write(inode);
}

@@ -2694,7 +2693,9 @@ static int __get_segment_type_6(struct f2fs_io_info *fio)
		if (is_cold_data(fio->page) || file_is_cold(inode))
			return CURSEG_COLD_DATA;
		if (file_is_hot(inode) ||
				is_inode_flag_set(inode, FI_HOT_DATA))
				is_inode_flag_set(inode, FI_HOT_DATA) ||
				is_inode_flag_set(inode, FI_ATOMIC_FILE) ||
				is_inode_flag_set(inode, FI_VOLATILE_FILE))
			return CURSEG_HOT_DATA;

		/* rw_hint_to_seg_type(inode->i_write_hint); */