summaryrefslogtreecommitdiff
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorWeichao Guo <guoweichao@oppo.com>2022-09-07 10:38:48 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2022-10-04 13:31:43 -0700
commitf3b23c785aa5d1920f479533f1d7361c2feceea5 (patch)
treeb366584e10dceecae0d9977eaa8b049ee6f36eaf /fs/f2fs/data.c
parent07725adc55c0a414c10acb5c8c86cea34b95ddef (diff)
f2fs: let FI_OPU_WRITE override FADVISE_COLD_BIT
Cold files may be fragmented due to SSR, defragment is needed as sequential reads are dominant scenarios of these files. FI_OPU_WRITE should override FADVISE_COLD_BIT to avoid defragment fails. Signed-off-by: Weichao Guo <guoweichao@oppo.com> Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 87524d3dce22..a737eedef779 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2543,7 +2543,7 @@ bool f2fs_should_update_inplace(struct inode *inode, struct f2fs_io_info *fio)
return true;
/* if this is cold file, we should overwrite to avoid fragmentation */
- if (file_is_cold(inode))
+ if (file_is_cold(inode) && !is_inode_flag_set(inode, FI_OPU_WRITE))
return true;
return check_inplace_update_policy(inode, fio);