diff options
| author | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-08-05 14:25:08 -0700 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-09-21 14:11:52 -0700 |
| commit | 2d982d49c3205e47fc8bf92ee98c4a4e90e67cfd (patch) | |
| tree | 0e78f7b60a6117148ded60dccf9cc7c9212ccaa8 | |
| parent | c9881425b5b16c4dd9656d6ae0b95029157ccc50 (diff) | |
f2fs: use IPU for cold files
We expect cold files write data sequentially, but sometimes some of small data
can be updated, which incurs fragmentation.
Let's avoid that.
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
| -rw-r--r-- | fs/f2fs/segment.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index e9ba1f1d9723..84242eb5226f 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h @@ -577,6 +577,10 @@ static inline bool need_inplace_update_policy(struct inode *inode, if (test_opt(sbi, LFS)) return false; + /* if this is cold file, we should overwrite to avoid fragmentation */ + if (file_is_cold(inode)) + return true; + if (policy & (0x1 << F2FS_IPU_FORCE)) return true; if (policy & (0x1 << F2FS_IPU_SSR) && need_SSR(sbi)) |
