diff --git a/src/journal/compress.c b/src/journal/compress.c index 4fb09f5965198..3baf9e4ad755a 100644 --- a/src/journal/compress.c +++ b/src/journal/compress.c @@ -98,7 +98,12 @@ int compress_blob_lz4(const void *src, uint64_t src_size, void *dst, size_t *dst if (src_size < 9) return -ENOBUFS; - r = LZ4_compress_limitedOutput(src, dst + 8, src_size, src_size - 8 - 1); +#if LZ4_VERSION_NUMBER >= 10700 + r = LZ4_compress_default(src, (char*)dst + 8, src_size, src_size - 8 - 1); +#else + r = LZ4_compress_limitedOutput(src, (char*)dst + 8, src_size, src_size - 8 - 1); +#endif + if (r <= 0) return -ENOBUFS; @@ -458,7 +463,7 @@ int compress_stream_lz4(int fdf, int fdt, off_t max_bytes) { total_in += n; - r = LZ4_compress_continue(&lz4_data, buf, out, n); + r = LZ4_compress_fast_continue(&lz4_data, buf, out, n, LZ4_COMPRESSBOUND(LZ4_BUFSIZE), 0); if (r == 0) { log_error("LZ4 compression failed."); return -EBADMSG; @@ -634,7 +639,7 @@ int decompress_stream_lz4(int fdf, int fdt, off_t max_bytes) { total_out += r; if (max_bytes != -1 && total_out > (size_t) max_bytes) { - log_debug("Decompressed stream longer than %zd bytes", max_bytes); + log_debug("Decompressed stream longer than %zd bytes", (size_t) max_bytes); return -EFBIG; } diff --git a/src/journal/compress.h b/src/journal/compress.h index 136dda6d390c3..0f62a58d6e02d 100644 --- a/src/journal/compress.h +++ b/src/journal/compress.h @@ -35,15 +35,9 @@ int compress_blob_lz4(const void *src, uint64_t src_size, void *dst, size_t *dst static inline int compress_blob(const void *src, uint64_t src_size, void *dst, size_t *dst_size) { int r; -#ifdef HAVE_LZ4 - r = compress_blob_lz4(src, src_size, dst, dst_size); - if (r == 0) - return OBJECT_COMPRESSED_LZ4; -#else r = compress_blob_xz(src, src_size, dst, dst_size); if (r == 0) return OBJECT_COMPRESSED_XZ; -#endif return r; } @@ -75,12 +69,7 @@ int compress_stream_lz4(int fdf, int fdt, off_t max_bytes); int decompress_stream_xz(int fdf, int fdt, off_t max_size); int decompress_stream_lz4(int fdf, int fdt, off_t max_size); -#ifdef HAVE_LZ4 -# define compress_stream compress_stream_lz4 -# define COMPRESSED_EXT ".lz4" -#else # define compress_stream compress_stream_xz # define COMPRESSED_EXT ".xz" -#endif int decompress_stream(const char *filename, int fdf, int fdt, off_t max_bytes); diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index 0fd59ec07300c..ebc8e62305d18 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -2615,9 +2615,8 @@ int journal_file_open( f->flags = flags; f->prot = prot_from_flags(flags); f->writable = (flags & O_ACCMODE) != O_RDONLY; -#if defined(HAVE_LZ4) - f->compress_lz4 = compress; -#elif defined(HAVE_XZ) + +#if defined(HAVE_XZ) f->compress_xz = compress; #endif #ifdef HAVE_GCRYPT