Otherwise, the deduplication rate will be impacted, but it doesn't
mattersince `-Ededupe` is still single-threaded.

Fixes: 341d23a878a2 ("erofs-utils: mkfs: speed up uncompressed data handling")
Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com>
---
 lib/compress.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/compress.c b/lib/compress.c
index 5c9c051..604a04c 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -376,6 +376,7 @@ out:
        return 0;
 }
 
+/* TODO: reset clusterofs to 0 if permitted */
 static int write_uncompressed_block(struct z_erofs_compress_sctx *ctx,
                                    unsigned int len, char *dst)
 {
@@ -616,9 +617,11 @@ static int __z_erofs_compress_one(struct 
z_erofs_compress_sctx *ctx,
                        may_packing = false;
                        e->length = min_t(u32, e->length, ret);
 nocompression:
-                       /* TODO: reset clusterofs to 0 if permitted */
-                       ret = write_uncompressed_extents(ctx, len,
-                                                        e->length, dst);
+                       if (cfg.c_dedupe)
+                               ret = write_uncompressed_block(ctx, len, dst);
+                       else
+                               ret = write_uncompressed_extents(ctx, len,
+                                                       e->length, dst);
                        if (ret < 0)
                                return ret;
                }
-- 
2.43.5

Reply via email to