aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/compress.c2
-rw-r--r--lib/compressor.c4
-rw-r--r--lib/compressor_lz4.c2
-rw-r--r--lib/compressor_lz4hc.c2
4 files changed, 5 insertions, 5 deletions
diff --git a/lib/compress.c b/lib/compress.c
index 7e5afc6..edff7ab 100644
--- a/lib/compress.c
+++ b/lib/compress.c
@@ -134,7 +134,7 @@ static int vle_compress_one(struct erofs_inode *inode,
ret = erofs_compress_destsize(h, compressionlevel,
ctx->queue + ctx->head,
&count, dst, EROFS_BLKSIZ);
- if (ret) {
+ if (ret <= 0) {
if (ret != -EAGAIN) {
erofs_err("failed to compress %s: %s",
inode->i_srcpath,
diff --git a/lib/compressor.c b/lib/compressor.c
index b57fb9d..8cc2f43 100644
--- a/lib/compressor.c
+++ b/lib/compressor.c
@@ -27,13 +27,13 @@ int erofs_compress_destsize(struct erofs_compress *c,
ret = c->alg->compress_destsize(c, compression_level,
src, srcsize, dst, dstsize);
- if (ret)
+ if (ret < 0)
return ret;
/* check if there is enough gains to compress */
if (*srcsize <= dstsize * c->compress_threshold / 100)
return -EAGAIN;
- return 0;
+ return ret;
}
int erofs_compressor_init(struct erofs_compress *c,
diff --git a/lib/compressor_lz4.c b/lib/compressor_lz4.c
index eacd21c..0d33223 100644
--- a/lib/compressor_lz4.c
+++ b/lib/compressor_lz4.c
@@ -21,7 +21,7 @@ static int lz4_compress_destsize(struct erofs_compress *c,
if (!rc)
return -EFAULT;
*srcsize = srcSize;
- return 0;
+ return rc;
}
static int compressor_lz4_exit(struct erofs_compress *c)
diff --git a/lib/compressor_lz4hc.c b/lib/compressor_lz4hc.c
index ec9347e..14e0175 100644
--- a/lib/compressor_lz4hc.c
+++ b/lib/compressor_lz4hc.c
@@ -25,7 +25,7 @@ static int lz4hc_compress_destsize(struct erofs_compress *c,
if (!rc)
return -EFAULT;
*srcsize = srcSize;
- return 0;
+ return rc;
}
static int compressor_lz4hc_exit(struct erofs_compress *c)