Browse Source

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>
Jaegeuk Kim 8 years ago
parent
commit
3537581a72
1 changed files with 4 additions and 0 deletions
  1. 4 0
      fs/f2fs/segment.h

+ 4 - 0
fs/f2fs/segment.h

@@ -577,6 +577,10 @@ static inline bool need_inplace_update_policy(struct inode *inode,
 	if (test_opt(sbi, LFS))
 	if (test_opt(sbi, LFS))
 		return false;
 		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))
 	if (policy & (0x1 << F2FS_IPU_FORCE))
 		return true;
 		return true;
 	if (policy & (0x1 << F2FS_IPU_SSR) && need_SSR(sbi))
 	if (policy & (0x1 << F2FS_IPU_SSR) && need_SSR(sbi))