Now we make all write path support large folios, so we open permission to let writeable file set large folio mapping.
Signed-off-by: Nanzhe Zhao <[email protected]> --- fs/f2fs/file.c | 14 -------------- fs/f2fs/inode.c | 3 +-- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index b723e0547fad..ae4536566843 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -88,17 +88,6 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf) int err = 0; vm_fault_t ret; - /* - * We only support large folio on the read case. - * Don't make any dirty pages. - */ - if (unlikely(IS_IMMUTABLE(inode)) || - mapping_large_folio_support(inode->i_mapping)) { - f2fs_err(sbi, "Not expected: immutable: %d large_folio: %d", - IS_IMMUTABLE(inode), - mapping_large_folio_support(inode->i_mapping)); - return VM_FAULT_SIGBUS; - } if (is_inode_flag_set(inode, FI_COMPRESS_RELEASED)) { err = -EIO; @@ -653,9 +642,6 @@ static int f2fs_file_open(struct inode *inode, struct file *filp) if (!f2fs_is_compress_backend_ready(inode)) return -EOPNOTSUPP; - if (mapping_large_folio_support(inode->i_mapping) && - filp->f_mode & FMODE_WRITE) - return -EOPNOTSUPP; err = fsverity_file_open(inode, filp); if (err) diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c index c95e0b126da4..5b4503c092b2 100644 --- a/fs/f2fs/inode.c +++ b/fs/f2fs/inode.c @@ -629,8 +629,7 @@ struct inode *f2fs_iget(struct super_block *sb, unsigned long ino) inode->i_op = &f2fs_file_inode_operations; inode->i_fop = &f2fs_file_operations; inode->i_mapping->a_ops = &f2fs_dblock_aops; - if (IS_IMMUTABLE(inode) && !f2fs_compressed_file(inode) && - !f2fs_quota_file(sbi, inode->i_ino)) + if (!f2fs_has_inline_data(inode)) mapping_set_folio_min_order(inode->i_mapping, 0); } else if (S_ISDIR(inode->i_mode)) { inode->i_op = &f2fs_dir_inode_operations; -- 2.34.1 _______________________________________________ Linux-f2fs-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
