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

Reply via email to