f2fs: clear FI_HOT_DATA correctly
Chao Yu
maintainerPATCH 1/1 f2fs: clear FI_HOT_DATA correctly
From: Chao Yu <[email protected]>
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 Chao Yu <[email protected]>
--- fs/f2fs/file.c | 2 ++ fs/f2fs/segment.c | 1 + 2 files changed, 3 insertions(+)
fs/f2fs/file.c +2 -0
@@ -1640,6 +1640,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; }
@@ -1678,6 +1679,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 {
fs/f2fs/segment.c +1 -0
@@ -254,6 +254,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); }
Signature · 1 line
2.14.1.145.gb3622a4ee