diff mbox

[1/2] f2fs: use IPU for cold files

Message ID 20170808014222.31097-1-jaegeuk@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jaegeuk Kim Aug. 8, 2017, 1:42 a.m. UTC
We expect cold files write data sequentially, but sometimes some of small data
can be updated, which incurs fragmentation.
Let's avoid that.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/segment.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Chao Yu Aug. 8, 2017, 2:57 a.m. UTC | #1
On 2017/8/8 9:42, Jaegeuk Kim wrote:
> We expect cold files write data sequentially, but sometimes some of small data
> can be updated, which incurs fragmentation.
> Let's avoid that.
> 
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>

Reviewed-by: Chao Yu <yuchao0@huawei.com>

Thanks,

> ---
>  fs/f2fs/segment.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
> index 6b871b492fd5..7f700e54b77d 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))
>
diff mbox

Patch

diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h
index 6b871b492fd5..7f700e54b77d 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))