浏览代码

f2fs: don't convert inline inode when inline_data option is disable

If inline_data option is disable, when truncating an inline inode with
size which is not exceed maxinum inline size, we should not convert
inline inode to regular one to avoid the overhead of synchronizing
conversion.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Chao Yu 9 年之前
父节点
当前提交
fba48a8b14
共有 2 个文件被更改,包括 1 次插入4 次删除
  1. 0 3
      fs/f2fs/inline.c
  2. 1 1
      fs/f2fs/namei.c

+ 0 - 3
fs/f2fs/inline.c

@@ -16,9 +16,6 @@
 
 
 bool f2fs_may_inline_data(struct inode *inode)
 bool f2fs_may_inline_data(struct inode *inode)
 {
 {
-	if (!test_opt(F2FS_I_SB(inode), INLINE_DATA))
-		return false;
-
 	if (f2fs_is_atomic_file(inode))
 	if (f2fs_is_atomic_file(inode))
 		return false;
 		return false;
 
 

+ 1 - 1
fs/f2fs/namei.c

@@ -60,7 +60,7 @@ static struct inode *f2fs_new_inode(struct inode *dir, umode_t mode)
 	if (f2fs_encrypted_inode(dir) && f2fs_may_encrypt(inode))
 	if (f2fs_encrypted_inode(dir) && f2fs_may_encrypt(inode))
 		f2fs_set_encrypted_inode(inode);
 		f2fs_set_encrypted_inode(inode);
 
 
-	if (f2fs_may_inline_data(inode))
+	if (test_opt(sbi, INLINE_DATA) && f2fs_may_inline_data(inode))
 		set_inode_flag(F2FS_I(inode), FI_INLINE_DATA);
 		set_inode_flag(F2FS_I(inode), FI_INLINE_DATA);
 	if (f2fs_may_inline_dentry(inode))
 	if (f2fs_may_inline_dentry(inode))
 		set_inode_flag(F2FS_I(inode), FI_INLINE_DENTRY);
 		set_inode_flag(F2FS_I(inode), FI_INLINE_DENTRY);