linux-yocto/fs/erofs
Gao Xiang a5ae7fa30c erofs: fix large fragment handling
[ Upstream commit b44686c839 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-01 09:48:45 +01:00
..
compress.h erofs: avoid refcounting short-lived pages 2024-07-11 15:14:26 +08:00
data.c erofs: fix to add missing tracepoint in erofs_readahead() 2025-07-17 18:37:18 +02:00
decompressor_deflate.c erofs: tidy up stream decompressors 2024-07-09 19:04:41 +08:00
decompressor_lzma.c erofs: convert comma to semicolon 2024-07-26 18:48:12 +08:00
decompressor_zstd.c erofs: tidy up stream decompressors 2024-07-09 19:04:41 +08:00
decompressor.c erofs: address D-cache aliasing 2025-07-17 18:37:15 +02:00
dir.c erofs: simplify readdir operation 2024-08-19 11:06:20 +08:00
erofs_fs.h erofs: restrict pcluster size limitations 2024-09-12 23:00:09 +08:00
fileio.c erofs: refine readahead tracepoint 2025-07-17 18:37:18 +02:00
fscache.c erofs: reference struct erofs_device_info for erofs_map_dev 2024-12-27 14:02:00 +01:00
inode.c erofs: reject inodes with negative i_size 2024-09-12 23:00:09 +08:00
internal.h erofs: fix large fragment handling 2025-08-01 09:48:45 +01:00
Kconfig erofs: mark experimental fscache backend deprecated 2024-09-10 15:27:11 +08:00
Makefile erofs: support unencoded inodes for fileio 2024-09-10 15:26:36 +08:00
namei.c erofs_buf: store address_space instead of inode 2024-04-25 00:57:14 -04:00
super.c erofs: avoid using multiple devices with different type 2025-06-19 15:31:29 +02:00
sysfs.c erofs: clean up erofs_register_sysfs() 2024-09-10 00:46:34 +08:00
xattr.c add a string-to-qstr constructor 2025-07-10 16:05:08 +02: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-08-01 09:48:45 +01:00
zmap.c erofs: fix large fragment handling 2025-08-01 09:48:45 +01:00
zutil.c erofs: fix rare pcluster memory leak after unmounting 2025-07-17 18:37:23 +02:00