linux/fs/erofs
Gao Xiang 6e49f3ac43 erofs: apply proper VMA alignment for memory mapped files on THP
[ Upstream commit 4127caee89 ]

There are mainly two reasons that thp_get_unmapped_area() should be
used for EROFS as other filesystems:

 - It's needed to enable PMD mappings as a FSDAX filesystem, see
   commit 74d2fad133 ("thp, dax: add thp_get_unmapped_area for pmd
   mappings");

 - It's useful together with large folios and
   CONFIG_READ_ONLY_THP_FOR_FS which enable THPs for mmapped files
   (e.g. shared libraries) even without FSDAX.  See commit 1854bc6e24
   ("mm/readahead: Align file mappings for non-DAX").

Fixes: 06252e9ce0 ("erofs: dax support for non-tailpacking regular file")
Fixes: ce529cc25b ("erofs: enable large folios for iomap mode")
Fixes: e6687b8922 ("erofs: enable large folios for fscache mode")
Reviewed-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20240306053138.2240206-1-hsiangkao@linux.alibaba.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-15 10:48:16 -04:00
..
compress.h erofs: simplify compression configuration parser 2024-03-01 13:26:38 +01:00
data.c erofs: apply proper VMA alignment for memory mapped files on THP 2024-03-15 10:48:16 -04:00
decompressor_lzma.c erofs: simplify compression configuration parser 2024-03-01 13:26:38 +01:00
decompressor.c erofs: fix inconsistent per-file compression format 2024-03-01 13:26:39 +01:00
dir.c erofs: update ctx->pos for every emitted dirent 2022-07-31 22:26:29 +08:00
erofs_fs.h erofs: introduce partial-referenced pclusters 2022-09-26 23:55:43 +08:00
fscache.c erofs: relinquish volume with mutex held 2023-03-10 09:32:46 +01:00
inode.c erofs: fix fsdax unavailability for chunk-based regular files 2023-07-23 13:49:26 +02:00
internal.h erofs: simplify compression configuration parser 2024-03-01 13:26:38 +01:00
Kconfig erofs: register fscache volume 2022-05-18 00:11:19 +08:00
Makefile erofs: register fscache volume 2022-05-18 00:11:19 +08:00
namei.c erofs: fix refcount on the metabuf used for inode lookup 2024-03-01 13:26:33 +01:00
pcpubuf.c erofs: get rid of ->lru usage 2021-10-25 08:22:59 +08:00
super.c erofs: simplify compression configuration parser 2024-03-01 13:26:38 +01:00
sysfs.c erofs: fix use-after-free of fsid and domain_id string 2022-11-10 09:53:20 +08:00
utils.c mm: shrinkers: provide shrinkers with names 2022-07-03 18:08:40 -07:00
xattr.c erofs: simplify iloc() 2023-07-19 16:20:59 +02:00
xattr.h erofs: clean up unnecessary code and comments 2022-09-27 17:27:25 +08:00
zdata.c erofs: fix ztailpacking for subpage compressed blocks 2024-02-05 20:12:48 +00:00
zmap.c erofs: fix inconsistent per-file compression format 2024-03-01 13:26:39 +01:00