initialised, so use sbi->fsid to distinguish between the two modes.
Signed-off-by: Christian Brauner
Signed-off-by: Baokun Li
Reviewed-by: Chao Yu
Thanks,
, no functional changes.
Suggested-by: Jingbo Xu
Signed-off-by: Baokun Li
Reviewed-by: Chao Yu
Thanks,
On 2024/4/24 16:42, Hongbo Li wrote:
When prepare_ondemand_read failed, wrong error message is printed.
The prepare_read is also implemented in cachefiles, so we amend it.
Reviewed-by: Gao Xiang
Signed-off-by: Hongbo Li
Reviewed-by: Chao Yu
Thanks,
On 2024/3/15 7:14, Sandeep Dhavale via Linux-erofs wrote:
I have been contributing to erofs for sometime and I would like to help
with code reviews as well.
Thank you for the effort and looks good to me. :)
Signed-off-by: Sandeep Dhavale
Acked-by: Chao Yu
Thanks,
On 2024/3/5 17:14, Gao Xiang wrote:
Convert erofs_try_to_free_all_cached_pages() and
z_erofs_cache_release_folio().
Besides, erofs_page_is_managed() is moved to zdata.c and renamed
as erofs_folio_is_managed().
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2024/3/5 17:14, Gao Xiang wrote:
Use bio_for_each_folio() to iterate over each folio in the bio and
there is no large folios for now.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2024/3/5 17:14, Gao Xiang wrote:
Introduce a folio member to `struct z_erofs_bvec` and convert most
of z_erofs_fill_bio_vec() to folios, which is still straight-forward.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
for upcoming features. Drop it.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2024/3/5 17:14, Gao Xiang wrote:
It is a straight-forward conversion. Besides, it's renamed as
z_erofs_scan_folio().
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
in a time-sharing manner
to reduce memory footprints for low-ended storage devices with high
latencies under heary I/O pressure.
Apart from folio_end_read() usage, it's a straight-forward conversion.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
rofs: enable large folios for iomap mode")
Fixes: be62c5198861 ("erofs: enable large folios for fscache mode")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
a489f0ef0670...@syzkaller.appspotmail.com
Fixes: 1ca01520148a ("erofs: refine z_erofs_transform_plain() for sub-page block
support")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
or inode lookup")
Cc: sta...@vger.kernel.org
Signed-off-by: Sandeep Dhavale
Reviewed-by: Chao Yu
Thanks,
On 2023/12/15 0:13, Gao Xiang wrote:
`pageofs_in` should be the compressed data offset of the page rather
than of the block.
Signed-off-by: Gao Xiang
Acked-by: Chao Yu
Thanks,
_bvecs`.
The LZ4 algorithm doesn't work like this, so it won't be impacted.
Fixes: 67139e36d970 ("erofs: introduce `z_erofs_parse_in_bvecs'")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
free to add:
Reviewed-by: Chao Yu
Thanks,
Thanks,
Gao Xiang
Gao Xiang (5):
erofs: support I/O submission for sub-page compressed blocks
erofs: record `pclustersize` in bytes instead of pages
erofs: fix up compacted indexes for block size < 4096
erofs: refine z_erofs_transform_pl
On 2023/11/20 11:23, Gao Xiang wrote:
On 2023/11/20 11:18, Chao Yu wrote:
On 2023/11/17 16:53, Gao Xiang wrote:
Add a new `W:` field of the EROFS entry points to the documentation
site at <https://erofs.docs.kernel.org>.
In addition, update the in-tree documentation and Kconfig too.
On 2023/11/17 16:53, Gao Xiang wrote:
Add a new `W:` field of the EROFS entry points to the documentation
site at <https://erofs.docs.kernel.org>.
In addition, update the in-tree documentation and Kconfig too.
Signed-off-by: Gao Xiang
Nice work!
Reviewed-by: Chao Yu
g
Reviewed-by: Chao Yu
Thanks,
wframe+0x6e/0x76
Reported-by: Yiqun Leng
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=7245
Fixes: 49845720080d ("erofs: Convert to use bdev_open_by_path()")
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
: 7674a42f35ea ("erofs: use struct lockref to replace handcrafted
approach")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/10/26 10:16, Ferry Meng wrote:
- Remove unused includes like and ;
- Move common includes into "internal.h".
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
On 2023/10/26 10:16, Ferry Meng wrote:
Let's open code this helper for simplicity.
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
On 2023/10/22 21:09, Gao Xiang wrote:
From: Gao Xiang
Move erofs_load_compr_cfgs() into decompressor.c as well as introduce
a callback instead of a hard-coded switch for each algorithm for
simplicity.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/10/10 21:06, Gao Xiang wrote:
Signed-off-by: Tiwei Bie
Reviewed-by: Gao Xiang
Looks fine to me for the version in dev-test branch.
Reviewed-by: Chao Yu
Thanks,
On 2023/8/24 11:42, Qi Zheng wrote:
Use new APIs to dynamically allocate the erofs-shrinker.
Signed-off-by: Qi Zheng
Reviewed-by: Muchun Song
CC: Gao Xiang
CC: Chao Yu
CC: Yue Hu
CC: Jeffle Xu
CC: linux-erofs@lists.ozlabs.org
Reviewed-by: Chao Yu
Thanks,
struct lockref to replace handcrafted
approach")
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
now.
Signed-off-by: sunshijie
Reviewed-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
Thanks,
Gao Xiang
On 2023/8/17 16:28, Gao Xiang wrote:
It's a straight-forward conversion and no logic changes (except that
it renames the corresponding tracepoint.)
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
ate as an internal counter to
indicate split parts of each folio for the corresponding pclusters
to decompress.
When such counter becomes zero, the folio will be finally unlocked
(see compress.h and z_erofs_onlinepage_endio()).
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/8/17 16:28, Gao Xiang wrote:
EROFS_MAP_FULL_MAPPED is more accurate to decide if caching the last
incomplete pcluster for later read or not.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/8/17 16:28, Gao Xiang wrote:
It can be folded into z_erofs_onlinepage_endio() to simplify the code.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/8/17 16:28, Gao Xiang wrote:
- Fix a typo: spiltted => split;
- Move !EROFS_MAP_MAPPED and EROFS_MAP_FRAGMENT upwards;
- Increase `split` in advance to avoid unnecessary repeat.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
/* since file-backed online pages are traversed in reverse order */
+ if (!z_erofs_is_inline_pcluster(fe->pcl)) {
+ /* bind cache first when cached decompression is preferred */
+ z_erofs_bind_cache(fe);
+ } else {
Nitpick, mptr can be defined here.
Reviewed-by: Chao Y
No logic changes.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/8/17 16:28, Gao Xiang wrote:
A trivial cleanup to make the fragment handling logic more clear.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/8/15 17:48, Ferry Meng wrote:
As erofs_fs_type has been declared in internal.h, there is no use to
declare repeatedly in super.c.
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
Thanks,
On 2023/8/15 17:48, Ferry Meng wrote:
To improve memory access efficiency and enable statistics functionality,
add SLAB_MEM_SPREAD and SLAB_ACCOUNT flag during erofs_icachep's allocation
time.
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
Thanks,
On 2023/8/15 17:48, Ferry Meng wrote:
Remove some redundant comments in erofs/super.c, and avoid unncessary
line breaks for cleanup.
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
Thanks,
On 2023/8/9 14:06, Ferry Meng wrote:
Don't warn users since -EINTR is returned due to user interruption.
Also suppress warning messages of readmore.
Signed-off-by: Ferry Meng
Reviewed-by: Chao Yu
Thanks,
urperforms similar approaches too.
Alternatively, DEFLATE could still be used for some specific files
since EROFS supports multiple compression algorithms in one image.
[1] https://developer.apple.com/documentation/compression/compression_algorithm
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/7/30 21:49, Gao Xiang wrote:
On 2023/7/30 20:53, Chao Yu wrote:
On 2023/7/16 17:19, Gao Xiang wrote:
Add DEFLATE compression as the 3rd supported algorithm.
DEFLATE is a popular generic-purpose compression algorithm for quite
long time (many advanced formats like gzip, zlib, zip
flag is non-zero.
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks
the future. With this flag we don't need
bothering these compatible bits again at that time.
Suggested-by: Alexander Larsson
Signed-off-by: Jingbo Xu
Reviewed-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks
.
Reported-by: Shijie Sun
Fixes: 5c2a64252c5d ("erofs: introduce partial-referenced pclusters")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
filter feature. It is
redundant for one filesystem to rely on two hashing algorithms at the
same time.
Since the superblock checksum is a compatible feature, just deprecate
it now.
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
On 2023/7/16 17:19, Gao Xiang wrote:
Add DEFLATE compression as the 3rd supported algorithm.
DEFLATE is a popular generic-purpose compression algorithm for quite
long time (many advanced formats like gzip, zlib, zip, png are all
based on that) as Apple documentation written "If you require
-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/6/28 0:12, Gao Xiang wrote:
It's unnecessary to use kmap_atomic() compared with kmap_local_page().
In addition, kmap_atomic() is deprecated now.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
pport reading chunk-based uncompressed files")
Signed-off-by: Xin Yin
Reviewed-by: Chao Yu
Thanks,
as unsigned int)
- Expected result:
- cur = 0
- Actual result:
- cur = 0x370
Signed-off-by: Chunhai Guo
Reviewed-by: Chao Yu
Thanks,
= 19217289215
- inode_size = 1442672
Signed-off-by: Chunhai Guo
Reviewed-by: Chao Yu
Thanks,
ttr name prefixes")
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
On 2023/5/15 17:57, Yue Hu wrote:
From: Yue Hu
The function of pcpubuf.c is just for low-latency decompression
algorithms (e.g. lz4).
Signed-off-by: Yue Hu
Reviewed-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
for
EROFS_FS_PCPU_KTHREAD.
Also clean up unneeded sched_set_normal().
[1]
https://lore.kernel.org/r/CAB=be-sbto6vcoylna9f-9van5r0t3o_zn+fw8gbo6wyuqf...@mail.gmail.com
Cc: Sandeep Dhavale
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/4/14 16:30, Gao Xiang wrote:
Switch EROFS_I_{VERSION,DATALAYOUT}_BITS into
EROFS_I_{VERSION,DATALAYOUT}_MASK.
Also avoid erofs_bitrange() since its functionality is simple enough.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/4/14 16:30, Gao Xiang wrote:
Such debug messages are rarely used now. Let's get rid of these,
and revert locally if they are needed for debugging.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
("staging: erofs: add erofs in-memory stuffs")
Signed-off-by: Jingbo Xu
Good catch!
Reviewed-by: Chao Yu
Thanks,
.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
erofs: add erofs_map_blocks_iter")
Fixes: 152a333a5895 ("staging: erofs: add compacted compression indexes
support")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
-by: Chao Yu
Thanks,
On 2023/2/27 16:44, Yue Hu wrote:
From: Yue Hu
The ztailpacking feature has been merged for a year, it has been mostly
stable now.
Signed-off-by: Yue Hu
Reviewed-by: Chao Yu
Thanks,
On 2023/3/30 16:29, Jingbo Xu wrote:
erofs_xattr_generic_get() won't be called from xattr handlers other than
user/trusted/security xattr handler, and thus there's no need of extra
checking.
Signed-off-by: Jingbo Xu
Reviewed-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
itialize packed inode after root inode is assigned
erofs: move packed inode out of the compression part
erofs: introduce on-disk format for long xattr name prefixes
erofs: add helpers to load long xattr name prefixes
erofs: handle long xattr name prefixes properly
erofs: enable long ex
On 2023/3/30 16:29, Jingbo Xu wrote:
Rename init_inode_xattrs() to erofs_init_inode_xattrs() without logic
change.
Signed-off-by: Jingbo Xu
Reviewed-by: Gao Xiang
Acked-by: Chao Yu
Thanks,
On 2023/3/30 16:29, Jingbo Xu wrote:
Move xattrblock_addr() and xattrblock_offset() helpers into xattr.c,
as they are not used outside of xattr.c.
inlinexattr_header_size() has only one caller, and thus make it inlined
into the caller directly.
Signed-off-by: Jingbo Xu
Acked-by: Chao Yu
rop unused extended attribute definitions;
- Move inode ondisk union `i_u` out as `union erofs_inode_i_u`.
No actual logical change.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
supported block size smaller than PAGE_SIZE now,
disable all these images with such separated directory block size until
we supported this feature later.
Signed-off-by: Jingbo Xu
Reviewed-by: Gao Xiang
Reviewed-by: Yue Hu
Reviewed-by: Chao Yu
Thanks,
atch only gets rid of the hardcoded blocksize, in
preparation for actually setting the on-disk block size in the following
patch. The hard limit of constraining the block size to PAGE_SIZE still
exists until the next patch.
Signed-off-by: Jingbo Xu
Reviewed-by: Gao Xiang
Reviewed-by: Yue Hu
Reviewed-by: Chao Yu
Thanks,
On 2023/3/9 13:31, Gao Xiang wrote:
`err` could be -EINTR and it should not be the case. Actually such
DBG_BUGON is useless.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/3/6 15:55, Yue Hu wrote:
From: Yue Hu
linux/fs.h has a wrapper for this operation.
Signed-off-by: Yue Hu
Reviewed-by: Chao Yu
Thanks,
On 2023/3/3 14:37, Yangtao Li wrote:
They are used during the erofs module init phase. Let's mark it as
__init like any other function.
Signed-off-by: Yangtao Li
Reviewed-by: Chao Yu
Thanks,
ith __GFP_NOFAIL")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
? kthread_complete_and_exit+0x18/0x18
ret_from_fork+0x1c/0x28
---[ end trace ]---
The bug is trivial and should be fixed now. It has no impact on
!HIGHMEM platforms.
Fixes: 622ceaddb764 ("erofs: lzma compression support")
Cc: # 5.16+
Signed-off-by: Gao Xiang
Reviewed-b
On 2023/2/9 14:39, Jingbo Xu wrote:
Currently metadata is always on bootstrap, and thus device mapping is
not needed so far. Remove the redundant device mapping in the meta
routine.
Signed-off-by: Jingbo Xu
Reviewed-by: Jia Zhu
Reviewed-by: Chao Yu
Thanks,
On 2023/2/9 13:20, Yangtao Li wrote:
Add this doc to the erofs maintainers entry.
Signed-off-by: Yangtao Li
Reviewed-by: Chao Yu
Thanks,
On 2023/2/9 13:11, Yue Hu wrote:
From: Yue Hu
Add missing feaures for sysfs-fs-erofs feature doc.
Signed-off-by: Yue Hu
Reviewed-by: Chao Yu
Thanks,
for compressed files. However it's never used
actually and let's remove it now.
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
On 2023/2/9 10:48, Jingbo Xu wrote:
As new flags introduced, the corresponding print symbols for trace are
not added accordingly. Add these missing print symbols for these flags.
Signed-off-by: Jingbo Xu
---
v3: print symbols for EROFS_GET_BLOCKS_RAW is deleted in patch 2
Reviewed-by: Chao
by: Thomas Weißschuh
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
Reorder internal.h code so that removing unneeded macros and more.
No logic changes.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
The code can be neater without forward declarations. Let's
get rid of z_erofs_do_map_blocks() forward declaration.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
Definitions in zdata.h are only used in zdata.c and for internal
use only. No logic changes.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
Just open-code the remaining one to simplify the code.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
We could just use a boolean in z_erofs_decompressqueue for sync
decompression to simplify the code.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/2/4 17:30, Gao Xiang wrote:
erofs_inode_datablocks() has the only one caller, let's just get
rid of it entirely. No logic changes.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/1/14 23:08, Gao Xiang wrote:
From: Gao Xiang
Actually we could pass in inodes directly to clean up all callers.
Also rename iloc() as erofs_iloc().
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/1/14 20:57, Gao Xiang wrote:
From: Gao Xiang
Since erofsdump is available, no need to keep this debugging
functionality at all.
Also drop a useless comment since it's the VFS behavior.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/1/14 9:58, Gao Xiang wrote:
EROFS actually never uses buffer heads, therefore just get rid of
BH_xxx definitions and linux/buffer_head.h inclusive.
Reviewed-by: Yue Hu
Reviewed-by: Jingbo Xu
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/1/13 14:52, Gao Xiang wrote:
Move inode hash function into inode.c and simplify erofs_iget().
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2023/1/12 14:54, Jingbo Xu wrote:
... to avoid the mess of conditional preprocessing as we are continually
adding fscache related mount options.
Reviewd-by: Gao Xiang
Reviewed-by: Yue Hu
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
On 2023/1/12 14:54, Jingbo Xu wrote:
Since the EROFS share domain feature for fscache mode has been available
since Linux v6.1, let's add documentation for 'domain_id' mount option.
Cc: linux-...@vger.kernel.org
Reviewed-by: Jia Zhu
Signed-off-by: Jingbo Xu
Reviewed-by: Chao Yu
Thanks,
tid=a8e049cd3abd342936b6
Reported-by: syzbot+a8e049cd3abd34293...@syzkaller.appspotmail.com
Suggested-by: Gao Xiang
Signed-off-by: Siddh Raman Pant
Reviewed-by: Chao Yu
Thanks,
.compressed_pages memory release? It's trivial though.
Anyway, feel free to add:
Reviewed-by: Chao Yu
Thanks,
z_erofs_parse_out_bvecs(be);
err2 = z_erofs_parse_in_bvecs(be, );
On 2022/10/18 18:53, Gao Xiang wrote:
Convert all mapped erofs_bread() users to use kmap_local_page()
instead of kmap() or kmap_atomic().
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
Reviewed-by: Chao Yu
Thanks,
decompression")
Reported-by: syzbot+6f8cd9a0155b366d2...@syzkaller.appspotmail.com
Signed-off-by: Chen Zhongjin
Reviewed-by: Yue Hu
Reviewed-by: Gao Xiang
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2022/12/5 23:00, Gao Xiang wrote:
Otherwise, meta buffers could be leaked.
Fixes: cec6e93beadf ("erofs: support parsing big pcluster compress indexes")
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
allocation fails, fall back to inplace I/O.
Let's get rid of z_erofs_cache_alloctype. No logical changes.
Reviewed-by: Yue Hu
Signed-off-by: Yue Hu
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
On 2022/11/30 17:56, Gao Xiang wrote:
- Refine highlights for main features;
- Add multi-reference pclusters and fragment description.
Signed-off-by: Gao Xiang
Reviewed-by: Chao Yu
Thanks,
1 - 100 of 604 matches
Mail list logo