diff options
| author | Jaegeuk Kim <jaegeuk@kernel.org> | 2026-04-01 07:05:56 +0300 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2026-04-15 19:36:44 +0300 |
| commit | 1583a7ded0d3d67fd6e7e4336600bc191d068a20 (patch) | |
| tree | 75fa8e272420c421ffa3554928a02a9a6a0c98d9 | |
| parent | b635f2ecdb5ad34f9c967cabb704d6bed9382fd0 (diff) | |
| download | linux-1583a7ded0d3d67fd6e7e4336600bc191d068a20.tar.xz | |
f2fs: do not support mmap write for large folio
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>
| -rw-r--r-- | fs/f2fs/file.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 2c4880f24b54..e917342cb828 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -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; |
