f2fs: let FI_OPU_WRITE override FADVISE_COLD_BIT
authorWeichao Guo <guoweichao@oppo.com>
Wed, 7 Sep 2022 02:38:48 +0000 (10:38 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 4 Oct 2022 20:31:43 +0000 (13:31 -0700)
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>
fs/f2fs/data.c

index 87524d3..a737eed 100644 (file)
@@ -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);