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

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

f2fs: clear FI_HOT_DATA correctly



commit 84a23fbe96b4e307eb749046a74515329119b08d upstream.

This patch fixes to clear FI_HOT_DATA correctly in below path:
- error handling in f2fs_ioc_start_atomic_write
- after commit atomic write in f2fs_ioc_commit_atomic_write
- after drop atomic write in drop_inmem_pages

Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 6ed7ad60
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1624,6 +1624,7 @@ static int f2fs_ioc_start_atomic_write(struct file *filp)
	ret = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX);
	if (ret) {
		clear_inode_flag(inode, FI_ATOMIC_FILE);
		clear_inode_flag(inode, FI_HOT_DATA);
		goto out;
	}

@@ -1662,6 +1663,7 @@ 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 {
+1 −0
Original line number Diff line number Diff line
@@ -255,6 +255,7 @@ 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);
}