2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/fs/erofs
Gao Xiang b44686c839 erofs: fix large fragment handling
Fragments aren't limited by Z_EROFS_PCLUSTER_MAX_DSIZE. However, if
a fragment's logical length is larger than Z_EROFS_PCLUSTER_MAX_DSIZE
but the fragment is not the whole inode, it currently returns
-EOPNOTSUPP because m_flags has the wrong EROFS_MAP_ENCODED flag set.
It is not intended by design but should be rare, as it can only be
reproduced by mkfs with `-Eall-fragments` in a specific case.

Let's normalize fragment m_flags using the new EROFS_MAP_FRAGMENT.

Reported-by: Axel Fontaine <axel@axelfontaine.com>
Closes: https://github.com/erofs/erofs-utils/issues/23
Fixes: 7c3ca1838a ("erofs: restrict pcluster size limitations")
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://lore.kernel.org/r/20250711195826.3601157-1-hsiangkao@linux.alibaba.com
2025-07-12 04:02:44 +08:00
..
compress.h erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
data.c erofs: address D-cache aliasing 2025-07-10 17:08:27 +08:00
decompressor_crypto.c erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
decompressor_deflate.c erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
decompressor_lzma.c erofs: move {in,out}pages into struct z_erofs_decompress_req 2025-03-17 01:22:50 +08:00
decompressor_zstd.c erofs: move {in,out}pages into struct z_erofs_decompress_req 2025-03-17 01:22:50 +08:00
decompressor.c erofs: address D-cache aliasing 2025-07-10 17:08:27 +08:00
dir.c erofs: allow readdir() to be interrupted 2025-07-10 17:08:27 +08:00
erofs_fs.h erofs: add __packed annotation to union(__le16..) 2025-04-09 22:56:30 +08:00
fileio.c erofs: address D-cache aliasing 2025-07-10 17:08:27 +08:00
fscache.c netfs: Fix the request's work item to not require a ref 2025-05-21 14:35:20 +02:00
inode.c erofs: support dot-omitted directories 2025-03-17 01:25:32 +08:00
internal.h erofs: fix large fragment handling 2025-07-12 04:02:44 +08:00
Kconfig erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
Makefile erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
namei.c erofs: get rid of erofs_kmap_type 2025-03-17 01:21:24 +08:00
super.c erofs: add 'fsoffset' mount option to specify filesystem offset 2025-05-22 11:57:57 +08:00
sysfs.c erofs: support DEFLATE decompression by using Intel QAT 2025-05-25 15:27:40 +08:00
xattr.c erofs: get rid of erofs_kmap_type 2025-03-17 01:21:24 +08:00
xattr.h erofs: move erofs_xattr_handlers and xattr_handler_map to .rodata 2023-10-09 16:24:17 +02:00
zdata.c erofs: fix large fragment handling 2025-07-12 04:02:44 +08:00
zmap.c erofs: fix large fragment handling 2025-07-12 04:02:44 +08:00
zutil.c The various patchsets are summarized below. Plus of course many 2025-01-26 18:36:23 -08:00