Hi Yifan,
On 2024/4/8 18:34, Yifan Zhao wrote:
Hi Noboru,
AFAIK, this `tryrecompress_trailing` is only used when `may_inline` is true,
indicating that
this segment is the last one in the file. In the current inner-file
implementation, it means
that only one worker will use the `tmp` buffer at a given time.
In fact, the `static` modifier is removed in the first version of the patchset,
but the change
is reversed during the review. I think Xiang may share his opinion about this.
Yes, I think it will impact inter-file implementation, but that doesn't matter
since we'll
finally enable this. So I will apply this first :)
Thanks,
Gao Xiang
Thanks,
Yifan Zhao
On 4/8/24 5:16 PM, Noboru Asai wrote:
In multi-threaded mode, each thread must use a different buffer in
tryrecompress_trailing
function, so change this buffer to non static.
Signed-off-by: Noboru Asai <a...@sijam.com>
---
lib/compress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/compress.c b/lib/compress.c
index 641fde6..7415fda 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -447,7 +447,7 @@ static void tryrecompress_trailing(struct
z_erofs_compress_sctx *ctx,
void *out, unsigned int *compressedsize)
{
struct erofs_sb_info *sbi = ctx->ictx->inode->sbi;
- static char tmp[Z_EROFS_PCLUSTER_MAX_SIZE];
+ char tmp[Z_EROFS_PCLUSTER_MAX_SIZE];
unsigned int count;
int ret = *compressedsize;