]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
f2fs: do not support mmap write for large folio
authorJaegeuk Kim <jaegeuk@kernel.org>
Wed, 1 Apr 2026 04:05:56 +0000 (04:05 +0000)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 15 Apr 2026 16:36:44 +0000 (16:36 +0000)
Let's check mmap writes onto the large folio, since we don't support writing
large folios.

Reviewed-by: Daeho Jeong <daehojeong@google.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 2c4880f24b546b012b2383328c3d48c6a947a038..e917342cb8284420f5fd842126f171dd4e48d1bb 100644 (file)
@@ -82,8 +82,17 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf)
        int err = 0;
        vm_fault_t ret;
 
-       if (unlikely(IS_IMMUTABLE(inode)))
+       /*
+        * 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;