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;

Reply via email to