From: Michael Biebl Date: Mon, 17 Aug 2020 20:11:19 +0000 (+0200) Subject: Keep journal files compatible with older versions X-Git-Tag: archive/raspbian/246.4-1+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=769b31ecd53557a364c5878072d0990e04447a58;p=systemd.git Keep journal files compatible with older versions Disable the KEYED-HASH journal feature by default and keep LZ4 (instead of ZSTD) as default compression for new journal files. Otherwise journal files are incompatible and can't be read by older journalctl implementations. This patch can be dropped in bullseye+1, as journalctl from bullseye will then be able to read journal files with those features. Closes: #968055 Gbp-Pq: Topic debian Gbp-Pq: Name Keep-journal-files-compatible-with-older-versions.patch --- diff --git a/src/journal/compress.h b/src/journal/compress.h index ab44ff06..277ac270 100644 --- a/src/journal/compress.h +++ b/src/journal/compress.h @@ -18,14 +18,14 @@ int compress_blob_zstd(const void *src, uint64_t src_size, static inline int compress_blob(const void *src, uint64_t src_size, void *dst, size_t dst_alloc_size, size_t *dst_size) { int r; -#if HAVE_ZSTD - r = compress_blob_zstd(src, src_size, dst, dst_alloc_size, dst_size); - if (r == 0) - return OBJECT_COMPRESSED_ZSTD; -#elif HAVE_LZ4 +#if HAVE_LZ4 r = compress_blob_lz4(src, src_size, dst, dst_alloc_size, dst_size); if (r == 0) return OBJECT_COMPRESSED_LZ4; +#elif HAVE_ZSTD + r = compress_blob_zstd(src, src_size, dst, dst_alloc_size, dst_size); + if (r == 0) + return OBJECT_COMPRESSED_ZSTD; #elif HAVE_XZ r = compress_blob_xz(src, src_size, dst, dst_alloc_size, dst_size); if (r == 0) diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c index cdcded2e..0483c9ad 100644 --- a/src/journal/journal-file.c +++ b/src/journal/journal-file.c @@ -3375,10 +3375,10 @@ int journal_file_open( .prot = prot_from_flags(flags), .writable = (flags & O_ACCMODE) != O_RDONLY, -#if HAVE_ZSTD - .compress_zstd = compress, -#elif HAVE_LZ4 +#if HAVE_LZ4 .compress_lz4 = compress, +#elif HAVE_ZSTD + .compress_zstd = compress, #elif HAVE_XZ .compress_xz = compress, #endif @@ -3396,7 +3396,7 @@ int journal_file_open( if (r < 0) { if (r != -ENXIO) log_debug_errno(r, "Failed to parse $SYSTEMD_JOURNAL_KEYED_HASH environment variable, ignoring."); - f->keyed_hash = true; + f->keyed_hash = false; } else f->keyed_hash = r;