diff options
| author | Gao Xiang <[email protected]> | 2025-07-11 19:58:26 +0000 |
|---|---|---|
| committer | Gao Xiang <[email protected]> | 2025-07-11 20:02:44 +0000 |
| commit | b44686c8391b427fb1c85a31c35077e6947c6d90 (patch) | |
| tree | bc199d06ce072d96c10a0201089288417d99ace0 /rust/helpers/regulator.c | |
| parent | erofs: allow readdir() to be interrupted (diff) | |
| download | kernel-b44686c8391b427fb1c85a31c35077e6947c6d90.tar.gz kernel-b44686c8391b427fb1c85a31c35077e6947c6d90.zip | |
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 <[email protected]>
Closes: https://github.com/erofs/erofs-utils/issues/23
Fixes: 7c3ca1838a78 ("erofs: restrict pcluster size limitations")
Signed-off-by: Gao Xiang <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'rust/helpers/regulator.c')
0 files changed, 0 insertions, 0 deletions
