On 2024/4/1 21:55, Chunhai Guo wrote:
Currently, utils.c is only useful if CONFIG_EROFS_FS_ZIP is on.
So let's rename as zutil.c as well as avoid its inclusion if
CONFIG_EROFS_FS_ZIP is explicitly disabled.
Signed-off-by: Chunhai Guo
Suggested-by: Gao Xiang
Looks good to me,
Reviewed
Hi Linus,
Sorry about missing a title due to my careless. My apologizes...
On Thu, Mar 28, 2024 at 10:54:40AM +0800, Gao Xiang wrote:
> Could you consider this pull request for 6.9-rc2?
>
> Just two minor informative patches. One adds Sandeep Dhavale as a new
> reviewer who could
take a bit more time on this.
The other patch drops experimental warning for FSDAX since it's already
used for memory sharing between hosts and guests.
All commits have been in -next and no potential merge conflict is
observed.
Thanks,
Gao Xiang
The following changes since commit
On 2024/3/27 17:12, Luke Shumaker wrote:
From: "Luke T. Shumaker"
---
doc/magic.man | 4 ++--
Does this send to a wrong mailing list?
Thanks,
Gao Xiang
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/magic.man b/doc/magic.man
index b9845f5c..2ee28
The return value of `lseek(fd, fpos, SEEK_SET)` can overflow the `int`
type. Fix this.
Fixes: 376fb2dbe66d ("erofs-utils: lib: introduce diskbuf")
Signed-off-by: Gao Xiang
---
lib/inode.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/inode.c b/lib/ino
As EXT4/XFS filesystems, FSDAX functionality is considered to be stable.
Let's drop this warning.
Signed-off-by: Gao Xiang
---
fs/erofs/super.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/erofs/super.c b/fs/erofs/super.c
index 6fbb1fba2d31..fc60a5a7794f 100644
--- a/fs/erofs/super.c
Hi,
On Sun, Mar 24, 2024 at 06:56:06PM -0400, Sasha Levin wrote:
> From: Jan Kara
>
> [ Upstream commit 49845720080dff0afd5813eaebf0758b01b6312c ]
>
> Convert erofs to use bdev_open_by_path() and pass the handle around.
>
> CC: Gao Xiang
> CC: Chao Yu
> CC: l
-by: Gao Xiang
---
Side note: it'd be better to have a changelog here against the previous
version next time.
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
Suggested-by: Gao Xiang
---
...
diff --git a/fs/erofs/utils.c b/fs/erofs/utils.c
index e146d09151af..7b552bb8c36e 100644
--- a/fs/erofs/utils.c
+++ b/fs/erofs/utils.c
@@ -284,4 +284,152 @@ void erofs_exit_shrinker(void)
{
shrinker_free(erofs_shrinker_info);
}
+
+struct z_erofs_gbuf
.. Instead of reporting IO errors which implies a corrupted image.
Fixes: 6894ca9623e7 ("erofs-utils: mkfs: Support tar source without data")
Signed-off-by: Gao Xiang
---
include/erofs/blobchunk.h | 1 +
lib/blobchunk.c | 41 +++
buffer to reduce memory
occupation.
Signed-off-by: Chunhai Guo
Suggested-by: Gao Xiang
---
fs/erofs/Makefile | 2 +-
fs/erofs/decompressor.c | 6 +-
fs/erofs/internal.h | 14 ++--
fs/erofs/pcpubuf.c | 148 --
fs/erofs/super.c| 4
will land native solutions for dataset and AI
models and we will evaluate this use cases formally.
Thanks,
Gao Xiang
Best,
Nicolas Granger
On 2024/3/21 20:34, Yifan Zhao wrote:
On 2024/3/21 10:07, Gao Xiang wrote:
On 2024/3/21 02:15, Huang Jianan wrote:
On 2024/3/17 22:41, Yifan Zhao wrote:
This patch allows parallelizing the compression process of different
files in mkfs. Specifically, a traverser thread traverses
On 2024/3/21 15:02, Noboru Asai wrote:
With -E(all-)fragments, pclustersize has a different value per segment,
so move it to struct z_erofs_compress_sctx.
Signed-off-by: Noboru Asai
Thanks, I think it's a good change for the later fragment multi-threaded
compression.
Thanks,
Gao XIang
erofs_mkfs_print_progressinfo(inode);
- err = erofs_mkfs_build_tree(inode, );
+ err = erofs_mkfs_build_tree(inode, , ismt);
if (err) {
root = ERR_PTR(err);
break;
}
+ if (!ismt) {
+ if (S_ISDIR(inode->i_mode)) {
+ inode->next_dirwrite = dumpdir;
+ dumpdir = inode;
+ } else {
+ erofs_iput(inode);
+ }
+#ifdef EROFS_MT_ENABLED
+ } else {
+ erofs_push_queue(z_erofs_mt_queue, );
+#endif
Many branches use EROFS_MT_ENABLED for isolation, how about:
#ifdef EROFS_MT_ENABLED
void erofs_push_queue(struct erofs_queue *q, void *elem);
#else
void erofs_push_queue(struct erofs_queue *q, void *elem) {};
#endif
BTW, apart from that, I don't quite like the erofs_queue naming
since it's quite ambiguous: a data structure or something else?
Thanks,
Gao Xiang
On 2024/3/21 02:15, Huang Jianan wrote:
On 2024/3/15 9:10, Gao Xiang wrote:
In order to prepare for multi-threaded decompression.
multi-threaded compression.
It already merged into -dev. I would not update this
since it's a minor stuff. Let's work on inter-file
stuffs.
Thanks,
Gao
#syz dup KMSAN: uninit-value in z_erofs_lz4_decompress (2)
On 2024/3/19 18:17, syzbot wrote:
Hello,
syzbot has tested the proposed patch and the reproducer did not trigger any
issue:
Reported-and-tested-by: syzbot+88ad8b0517a9d3bb9...@syzkaller.appspotmail.com
Tested on:
commit:
#syz test git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
another try with the current upstream.
On 2024/2/20 15:22, syzbot wrote:
Hello,
syzbot tried to test the proposed patch but the build/boot failed:
le Layout Driver Registering...
[ 21.855653][T1] Key
Since pread() can be used during multi-threaded compression, it's
necessary to pass `fpos` in to indicate the absolute offset.
Fixes: aec8487dce4c ("erofs-utils: mkfs: introduce inner-file multi-threaded
compression")
Signed-off-by: Gao Xiang
---
include/erofs/compress.h |
On Sun, Mar 17, 2024 at 02:45:09PM +0800, Yifan Zhao wrote:
> If a segment is smaller than the block size, sizeof(sctx->membuf) should
> be at least as large as the block size, as memory write into the buffer
> is done in block size.
>
> Signed-off-by: Yifan Zhao
> ---
Folded the following diff
seg_ctx;
struct z_erofs_compress_sctx *sctx;
"ictx" means "inode context", "sctx" means "segment context".
If there is no confusion, "ctx" naming can be used in a function.
Also I tend to avoid making a huge diff to make ctx->"sctx or
ic
On 2024/3/15 10:39, Gao Xiang wrote:
On 2024/3/14 20:37, Yifan Zhao wrote:
Currently, the creation of EROFS compressed image creation is
single-threaded, which suffers from performance issues. This patch
attempts to address it by compressing the large file in parallel.
Specifically, each
On 2024/3/15 09:10, Gao Xiang wrote:
From: Yifan Zhao
Currently, the creation of EROFS compressed image creation is
single-threaded, which suffers from performance issues. This patch
attempts to address it by compressing the large file in parallel.
Specifically, each input file larger than
-by: Tong Xin
I did some updates yesterday and I just posted v7.
BTW, I also found an issue that the output cannot be stablized with
"mkfs.erofs -zlz4hc,12 --worker=72" and enwik9 dataset. I'm still
looking into that since it's an unexpected behavior.
Thanks,
Gao Xiang
-by: Gao Xiang
---
v7:
- support -Eztailpacking;
- wq_private -> wq_tls;
- minor updates.
include/erofs/compress.h | 3 +-
lib/compress.c | 548 ---
lib/compressor.c | 2 +
mkfs/main.c | 8 +-
4 files changed, 464 inserti
`__warnonce` atomic booleans to each erofs_compressor_init().
Cc: Yifan Zhao
Signed-off-by: Yifan Zhao
Signed-off-by: Gao Xiang
---
include/erofs/atomic.h | 28
lib/compressor_deflate.c| 11 ---
lib/compressor_libdeflate.c | 6 +-
lib
-off-by: Yifan Zhao
Signed-off-by: Gao Xiang
---
include/erofs/config.h | 4
lib/config.c | 4
mkfs/main.c| 23 +++
3 files changed, 31 insertions(+)
diff --git a/include/erofs/config.h b/include/erofs/config.h
index 73e3ac2..d2f91ff 100644
From: Yifan Zhao
Add a workqueue implementation for multi-threading support inspired by
xfsprogs.
Signed-off-by: Yifan Zhao
Suggested-by: Gao Xiang
Signed-off-by: Gao Xiang
---
configure.ac | 16 +
include/erofs/internal.h | 3 +
include/erofs/workqueue.h | 34
In order to prepare for multi-threaded decompression.
Signed-off-by: Yifan Zhao
Signed-off-by: Gao Xiang
---
configure.ac | 1 +
include/erofs/config.h | 1 +
lib/config.c | 12
3 files changed, 14 insertions(+)
diff --git a/configure.ac b/configure.ac
index
On 2024/3/15 07:14, Sandeep Dhavale wrote:
I have been contributing to erofs for sometime and I would like to help
with code reviews as well.
Signed-off-by: Sandeep Dhavale
Looks good to me, and thanks for taking your time on erofs project:
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
On 2024/3/12 23:29, Gael Donval wrote:
On Tue, 2024-03-12 at 22:15 +0800, Gao Xiang wrote:
On 2024/3/12 21:14, Gael Donval wrote:
On Tue, 2024-03-12 at 20:43 +0800, Gao Xiang wrote:
...
Yes, but that needs a new version (maybe erofs-utils 1.8) though.
Of course!
Also I'm
On 2024/3/12 21:14, Gael Donval wrote:
On Tue, 2024-03-12 at 20:43 +0800, Gao Xiang wrote:
...
Yes, but that needs a new version (maybe erofs-utils 1.8) though.
Of course!
Also I'm not sure how tar --xattrs works for "btrfs.compression",
does it also work in a relaxed m
On 2024/3/12 20:01, Gael Donval wrote:
On Tue, 2024-03-12 at 19:37 +0800, Gao Xiang wrote:
On 2024/3/12 19:07, Gael Donval wrote:
On 2024/3/12 18:44, Gao Xiang wrote:
Hi Gael,
On 2024/3/12 17:57, Gael Donval wrote:
Dear list,
$ mkdir foo && touch foo/bar &
On 2024/3/12 19:37, Gao Xiang wrote:
On 2024/3/12 19:07, Gael Donval wrote:
On 2024/3/12 18:44, Gao Xiang wrote:
Hi Gael,
On 2024/3/12 17:57, Gael Donval wrote:
Dear list,
$ mkdir foo && touch foo/bar && mkfs.erofs foo.erofs.img foo
mkfs.erofs 1.7.1
On 2024/3/12 19:07, Gael Donval wrote:
On 2024/3/12 18:44, Gao Xiang wrote:
Hi Gael,
On 2024/3/12 17:57, Gael Donval wrote:
Dear list,
$ mkdir foo && touch foo/bar && mkfs.erofs foo.erofs.img foo
mkfs.erofs 1.7.1
erofs: failed to build shared xattrs: [E
On 2024/3/12 18:44, Gao Xiang wrote:
Hi Gael,
On 2024/3/12 17:57, Gael Donval wrote:
Dear list,
$ mkdir foo && touch foo/bar && mkfs.erofs foo.erofs.img foo
mkfs.erofs 1.7.1
erofs: failed to build shared xattrs: [Error 61] No data available
erofs:
but is not how mkfs.erofs is meant to work in the general case.
Thanks for your feedback.
Currently I don't have some BTRFS environment, I could set up one later.
Yet in parallel could you provide a full message of
"strace mkfs.erofs -x-1 foo.erofs.img foo" on BTRFS too?
Thanks,
Gao Xiang
Kind regards,
Gaël
that, there are some folio conversions for compressed
inodes available as well as a lockdep false positive fix.
All commits have been in -next and no potential merge conflict is
observed.
[1] https://nydus.dev
Thanks,
Gao Xiang
The following changes since commit
ibe a request to fill the
page cache in the specified range.
Signed-off-by: Jingbo Xu
As we discussed offline, for the whole series:
Reviewed-by: Gao Xiang
Thanks for the work!
Thanks,
Gao Xiang
added today) and
no potential merge conflict is observed.
Thanks,
Gao Xiang
The following changes since commit 90d35da658da8cff0d4ecbb5113f5fac9d00eb72:
Linux 6.8-rc7 (2024-03-03 13:02:52 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/xiang
ositive and too close to the
final so let's keep this patch in -next for a while and
then aim for v6.9-rc1 instead.
Thanks,
Gao Xiang
Hi Christian,
On 2024/3/7 17:17, Christian Brauner wrote:
On Thu, Mar 07, 2024 at 12:18:52PM +0800, Gao Xiang wrote:
Hi,
(try to +Cc Christian and Al here...)
On 2024/3/7 11:41, Jingbo Xu wrote:
Hi Baokun,
Thanks for catching this!
On 3/7/24 10:52 AM, Gao Xiang wrote:
Hi Baokun
anonymous inode.
As Al pointed out, you could just follow his ideas
since it's mainly a VFS POV...
Thanks,
Gao Xiang
Hi,
(try to +Cc Christian and Al here...)
On 2024/3/7 11:41, Jingbo Xu wrote:
Hi Baokun,
Thanks for catching this!
On 3/7/24 10:52 AM, Gao Xiang wrote:
Hi Baokun,
On 2024/3/7 10:44, Baokun Li wrote:
Lockdep reported the following issue when mounting erofs with a
domain_id
udo_mnt related code to fscache.c.
Signed-off-by: Baokun Li
IMHO, in the beginning, I'd like to avoid introducing another fs type
for erofs to share (meta)data between filesystems since it will cause
churn, could we use some alternative way to resolve this?
Or Jingbo might have some other idea
On 2024/3/7 09:07, Chao Yu wrote:
On 2024/3/6 14:51, Gao Xiang wrote:
On 2024/3/6 13:31, Gao Xiang wrote:
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
On 2024/3/6 13:31, Gao Xiang wrote:
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 74d2fad1334d ("thp, dax: add thp_get_unmapped_area for pmd
map
l together with CONFIG_READ_ONLY_THP_FOR_FS which enables
THPs for read-only mmapped files (e.g. shared libraries) even without
FSDAX. See commit 1854bc6e2420 ("mm/readahead: Align file mappings
for non-DAX").
Fixes: 06252e9ce05b ("erofs: dax support for non-tailpacking regular file&q
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
---
fs/erofs/compress.h | 7
fs/erofs/decompressor_deflate.c | 3 --
fs
-by: Gao Xiang
---
fs/erofs/zdata.c | 20 +++-
1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index c25074657708..75b05990b571 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -565,17 +565,13 @@ static void z_erofs_bind_cache
It is a straight-forward conversion. Besides, it's renamed as
z_erofs_scan_folio().
Signed-off-by: Gao Xiang
---
fs/erofs/zdata.c | 31 +++
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index 5013fcd4965a
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
---
fs/erofs/zdata.c | 71
1 file changed, 36 insertions(+), 35 deletions(-)
diff
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
---
fs/erofs/zdata.c | 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index d78cc54a96f5
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
---
Some trivial folio conversions for compressed inodes aiming for v6.9.
fs/erofs/zdata.c | 50
#syz test git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git dev-test
On 2024/3/4 11:53, Gao Xiang wrote:
syzbot reports a KMSAN reproducer [1] which generates a crafted
filesystem image and causes IMA to read uninitialized page cache.
Later, (rq->outputsize > rq->
148a ("erofs: refine z_erofs_transform_plain() for sub-page
block support")
Signed-off-by: Gao Xiang
---
fs/erofs/decompressor.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index d4cee95af14c..2ec9b2bb628d
commit 1ca01520148a this cycle, let me find more clues and
make a fix for this.
Thanks,
Gao Xiang
You can obtain a single-threaded reproducer from
https://syzkaller.appspot.com/x/repro.c?x=1256096a18 with below diff.
--- old/1256096a18.c
+++ new
Similar to commit e3dfe4b8db26 ("erofs-utils: mkfs: support tgz streams
for tarerofs"), let's add xz/lzma/lzip support by using liblzma.
Signed-off-by: Gao Xiang
---
include/erofs/tar.h | 13 ++
lib/tar.c | 58 -
man/mk
T_ENABLED
+ if (cfg.c_mt_workers > 1 &&
+ (cfg.c_dedupe || cfg.c_fragments || cfg.c_ztailpacking)) {
+ cfg.c_mt_workers = 1;
+ erofs_warn("Please note that dedupe/fragments/ztailpacking"
+ "is NOT suppo
On 2024/2/29 17:43, Gao Xiang wrote:
Hi Yifan,
On 2024/2/29 00:16, Yifan Zhao wrote:
Add a workqueue implementation for multi-threading support inspired by
xfsprogs.
Signed-off-by: Yifan Zhao
Suggested-by: Gao Xiang
---
..
index 54b9c9c..7307f7b 100644
--- a/lib/Makefile.am
+++ b/lib
Hi Yifan,
On 2024/2/29 00:16, Yifan Zhao wrote:
Add a workqueue implementation for multi-threading support inspired by
xfsprogs.
Signed-off-by: Yifan Zhao
Suggested-by: Gao Xiang
---
configure.ac | 16 +
include/erofs/internal.h | 3 +
include/erofs/workqueue.h | 37
On 2024/2/28 23:13, Yifan Zhao wrote:
On 2/28/24 17:57, Gao Xiang wrote:
On 2024/2/25 22:27, Yifan Zhao wrote:
Currently, the creation of EROFS compressed image creation is
single-threaded, which suffers from performance issues. This patch
attempts to address it by compressing the large
On 2024/2/28 21:22, Yifan Zhao wrote:
On 2/28/24 16:21, Gao Xiang wrote:
Add some helpers (relaxed semantics) in order to prepare for the
upcoming multi-threaded support.
For example, compressor may be initialized more than once in different
worker threads, resulting in noisy warnings
erofs_blksiz(sbi)));
return false;
}
@@ -439,26 +527,31 @@ static bool z_erofs_fixup_deduped_fragment(struct z_erofs_vle_compress_ctx *ctx,
static int __z_erofs_compress_one(struct z_erofs_vle_compress_ctx *ctx,
struct z_erofs_inmem_extent *e)
{
- static char dstbuf[EROFS_CONFIG_COMPR_MAX_SZ + EROFS_MAX_BLOCK_SIZE];
- struct erofs_inode *inode = ctx->inode;
+ static char
+ global_dstbuf[EROFS_CONFIG_COMPR_MAX_SZ + EROFS_MAX_BLOCK_SIZE];
+ char *dstbuf = ctx->destbuf ? ctx->destbuf : global_dstbuf;
char *dstbuf = ctx->destbuf ? : global_dstbuf;
Thanks,
Gao Xiang
`__warnonce` atomic booleans to each erofs_compressor_init().
Cc: Yifan Zhao
Signed-off-by: Gao Xiang
---
include/erofs/atomic.h | 27 +++
lib/compressor_deflate.c| 11 ---
lib/compressor_libdeflate.c | 6 +-
lib/compressor_liblzma.c| 5 -
4 files
On 2024/2/27 23:22, Mike Baynton wrote:
On Tue, Feb 27, 2024 at 2:42 AM Gao Xiang wrote:
Hi Mike,
Just some minor changes for applying to -dev development codebase.
Does it look good to you?
(I will apply this version to -experimental for testing.)
Looks pretty good to me, thank
or any data after
each tar header which was simply discarded by mkfs.erofs.
Signed-off-by: Mike Baynton
Signed-off-by: Gao Xiang
---
Hi Mike,
Just some minor changes for applying to -dev development codebase.
Does it look good to you?
(I will apply this version to -experimental for testing
nder
the meaning of `-ball` :-)
I'm happy with the new naming, and will try this patch later!
Thanks,
Gao Xiang
Thank you for your careful review, it's a simple change but this was
motivated by necessity and isn't really my wheelhouse.
include/erofs/tar.h | 2 +-
lib/tar.c | 2 +-
Hi Yue,
On 2024/2/27 10:22, Yue Hu wrote:
From: Gao Xiang
[ Upstream commit efb4fb02cef3ab410b603c8f0e1c67f61d55f542 ]
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.
Reviewed-by: Chao Yu
Hi Linus,
Could you consider this fix for 6.8-rc6?
The detailed description is as below and I think it'd be
much better to be landed now than later.
It has been in -next and no potential merge conflict is observed.
Thanks,
Gao Xiang
The following changes since commit
on inplace")
Fixes: 598162d05080 ("erofs: support decompress big pcluster for lz4 backend")
Cc: stable # 5.4+
Tested-by: Yifan Zhao
Signed-off-by: Gao Xiang
Link:
https://lore.kernel.org/r/20231206045534.3920847-1-hsiang...@linux.alibaba.com
---
Adapt 5.10.y codebase due to non-tr
on inplace")
Fixes: 598162d05080 ("erofs: support decompress big pcluster for lz4 backend")
Cc: stable # 5.4+
Tested-by: Yifan Zhao
Signed-off-by: Gao Xiang
Link:
https://lore.kernel.org/r/20231206045534.3920847-1-hsiang...@linux.alibaba.com
---
Adapt 5.15.y codebase due to non-tr
--block-list-file=X X=block_list file\n"
+#endif
+#ifdef EROFS_MT_ENABLED
+ " --worker=#set the number of worker threads to #
(default=1)\n"
--workers=#
Thanks,
Gao Xiang
Since commit e3dfe4b8db26 ("erofs-utils: mkfs: support tgz streams for
tarerofs"), tgz streams can be converted to EROFS directly.
However, many use cases also require raw tar streams. Let's add
support for dumping raw streams with `--ungzip=FILE` option.
Signed-off-by: Gao Xiang
--
it(struct
erofs_compress *c)
ctx->opt.dict_size = c->dict_size;
c->private_data = ctx;
+ if (print_warning) {
same here.
Thanks,
Gao Xiang
erofs_warn("EXPERIMENTAL MicroLZMA feature in use. Use at your own
risk!");
On 2024/2/20 15:55, Yifan Zhao wrote:
Add a workqueue implementation for multi-threading support inspired by
xfsprogs.
Signed-off-by: Yifan Zhao
Suggested-by: Gao Xiang
---
configure.ac | 16 +
include/erofs/internal.h | 3 +
include/erofs/workqueue.h | 38
buffers for inode lookup")
Cc: sta...@vger.kernel.org
Signed-off-by: Sandeep Dhavale
Reviewed-by: Gao Xiang
Thanks,
Gao Xiang
The new XZ Utils 5.4 is now available in most Linux distributions.
Let's enable liblzma auto-detection as well as get rid of MicroLZMA
EXPERIMENTAL warning.
Signed-off-by: Gao Xiang
---
v2:
- fix build errors:
https://github.com/erofs/erofsnightly/actions/runs/7982759356
https
tched;
The fix is correct, yet I tend to try to reorganize this snippet for
simplicity, how about the following diff (untested)?
If it looks good to you, could you resend a formal patch? Thanks!
Thanks,
Gao Xiang
fs/erofs/namei.c | 29 ++---
1 file changed, 14 i
The new XZ Utils 5.4 is now available in most Linux distributions.
Let's enable liblzma auto-detection as well as get rid of MicroLZMA
EXPERIMENTAL warning.
Signed-off-by: Gao Xiang
---
configure.ac | 54 ++--
lib/compressor_liblzma.c | 3 +--
2
Fix explicit `--with-zlib` so that it errors out when zlib
is unavailable.
Signed-off-by: Gao Xiang
---
configure.ac | 35 +++
1 file changed, 23 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index bf6e99f..cd14beb 100644
/36e27e0610890...@google.com
https://lore.kernel.org/r/bacd170610723...@google.com
before I tend to verify a resolved duplicated report:
https://syzkaller.appspot.com/bug?extid=6c746eea496f34b3161d
Thanks,
Gao Xiang
[ 30.396149][T1] register_netdevice+0x198f/0x2170
[ 30.396264
#syz test git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
On 2024/2/2 00:57, syzbot wrote:
Hello,
syzbot tried to test the proposed patch but the build/boot failed:
[T1] NFS: Registering the id_resolver key type
[ 20.847533][T1] Key type id_resolver
.
Thanks for your detailed explanation.
In short, basically i'm not against your proposal, so if you'd like
to support a header-only tar-like format, could you submit a formal
patch (with your signed-off-by) for me to apply (--tar=header)?
Thanks!
Gao Xiang
Regards,
Mike
On Sun, Feb 18, 2024
On 2024/2/19 12:44, Gao Xiang wrote:
Hi Mike,
On 2024/2/19 11:37, Mike Baynton wrote:
Hello erofs developers,
I am integrating erofs with overlayfs in a manner similar to what
composefs is doing. So, I am interested in making erofs images
containing only file metadata and extended
rrent index mode now.
But yes, it could be inefficient if some files are huge.
Would some version of this feature be interesting and useful? If so,
is the simple way good enough? It wouldn't preclude future addition of
things like a sparse tar reader.
Yes, I think it's useful to support a simple prototype-like format, but
it might take time on my own since there are some other ongoing stuffs
to be landed (like multi-threading mkfs support.)
Thanks,
Gao Xiang
Regards,
Mike
On Thu, Feb 08, 2024 at 09:59:09PM +0800, Tianyi Liu wrote:
> `erofs_strerror` accepts a negative argument,
> so `errno` should be negatived before passing to it.
>
> Signed-off-by: Tianyi Liu
Thanks, applied!
Thanks,
Gao Xiang
Hi,
On 2024/2/4 18:33, Yifan Zhao wrote:
From: Gao Xiang
Add a workqueue implementation based on xfsprogs for multi-threading
support.
Signed-off-by: Gao Xiang
---
...
--- /dev/null
+++ b/include/erofs/workqueue.h
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: GPL-2.0
#syz test git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
On 2024/2/1 19:04, syzbot wrote:
Hello,
syzbot found the following issue on:
HEAD commit:9f8413c4a66f Merge tag 'cgroup-for-6.8' of git://git.kerne..
git tree: upstream
console+strace:
% on average under a heavy multi-app
launch benchmark workload.
The remaining one gets rid of unnecessary GFP_NOFS.
All commits have been in -next for a while and no potential merge
conflict is observed.
Thanks,
Gao Xiang
The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:
Linux
,
after applying this patch, it can eventually save 52.14% (3364 -> 1610)
on average with no memory reservation. That is particularly useful for
embedded devices with limited resources.
[1] https://lore.kernel.org/r/20240109074143.4138783-1-guochun...@vivo.com
Suggested-by: Gao Xiang
Signed-
Hi Yue,
On 2024/1/26 18:46, Yue Hu wrote:
On Fri, 26 Jan 2024 13:36:16 +0800
Gao Xiang wrote:
...
/*
@@ -1276,7 +1280,11 @@ static int z_erofs_decompress_pcluster(struct
z_erofs_decompress_backend *be,
.inplace_io = overlapped
applying this patch, it can eventually save 52.14% (3364 -> 1610)
on average with no memory reservation. That is particularly useful for
embedded devices with limited resources.
[1] https://lore.kernel.org/r/20240109074143.4138783-1-guochun...@vivo.com
Suggested-by: Gao Xiang
Signed-
On 2024/1/26 12:56, Sandeep Dhavale via Linux-erofs wrote:
On Thu, Jan 25, 2024 at 4:01 AM Gao Xiang wrote:
I encountered a race issue after lengthy (~594647 sec) stress tests on
a 64k-page arm64 VM with several 4k-block EROFS images. The timing
is like below:
z_erofs_try_inplace_io
On 2024/1/26 11:42, Chunhai Guo wrote:
On 2024/1/26 10:47, Gao Xiang wrote:
[你通常不会收到来自 hsiang...@linux.alibaba.com 的电子邮件。请访问
https://aka.ms/LearnAboutSenderIdentification,以了解这一点为什么很重要]
On 2024/1/26 10:41, Chunhai Guo wrote:
On 2024/1/22 15:42, Chunhai Guo wrote:
On 2024/1/22 12:37, Gao
On 2024/1/26 10:41, Chunhai Guo wrote:
On 2024/1/22 15:42, Chunhai Guo wrote:
On 2024/1/22 12:37, Gao Xiang wrote:
[你通常不会收到来自 hsiang...@linux.alibaba.com 的电子邮件。请访问
https://aka.ms/LearnAboutSenderIdentification,以了解这一点为什么很重要]
On 2024/1/22 11:49, Chunhai Guo wrote:
On 2024/1/22 10:07, Gao
support I/O submission for sub-page compressed
blocks")
Signed-off-by: Gao Xiang
---
fs/erofs/zdata.c | 74 +---
1 file changed, 38 insertions(+), 36 deletions(-)
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index 583c062cd0e4..c1c77166b30f 10064
On 2024/1/24 18:40, Yifan Zhao wrote:
On 2024/1/24 17:53, Gao Xiang wrote:
Hi Yifan,
On 2024/1/24 17:47, Yifan Zhao wrote:
On 1/24/24 17:16, Gao Xiang wrote:
Yifan reported a "segmentation fault (core dumped)" error days ago
with a large dataset (enwik9 x 5). Let's fix it.
Hi Yifan,
On 2024/1/24 17:47, Yifan Zhao wrote:
On 1/24/24 17:16, Gao Xiang wrote:
Yifan reported a "segmentation fault (core dumped)" error days ago
with a large dataset (enwik9 x 5). Let's fix it.
Reported-by: Yifan Zhao
Fixes: 861037f4fc15 ("erofs-utils: add a b
Yifan reported a "segmentation fault (core dumped)" error days ago
with a large dataset (enwik9 x 5). Let's fix it.
Reported-by: Yifan Zhao
Fixes: 861037f4fc15 ("erofs-utils: add a built-in DEFLATE compressor")
Signed-off-by: Gao Xiang
---
include/erofs/defs.h | 3 +++
101 - 200 of 3487 matches
Mail list logo