compress: introduce dlopen_compress() and friends

This commit is contained in:
Yu Watanabe
2026-08-24 03:30:52 +09:00
parent 15458a89f1
commit 8f0bc58664
3 changed files with 35 additions and 0 deletions
+26
View File
@@ -424,6 +424,32 @@ int dlopen_bzip2(int log_level) {
#endif
}
int dlopen_compress_journal(Compression c, int log_level) {
switch (c) {
case COMPRESSION_NONE:
return 0;
case COMPRESSION_XZ:
return dlopen_xz(log_level);
case COMPRESSION_LZ4:
return dlopen_lz4(log_level);
case COMPRESSION_ZSTD:
return dlopen_zstd(log_level);
default:
return -EOPNOTSUPP;
}
}
int dlopen_compress(Compression c, int log_level) {
switch (c) {
case COMPRESSION_GZIP:
return dlopen_zlib(log_level);
case COMPRESSION_BZIP2:
return dlopen_bzip2(log_level);
default:
return dlopen_compress_journal(c, log_level);
}
}
static int compress_blob_xz(
const void *src,
uint64_t src_size,
+6
View File
@@ -102,6 +102,12 @@ int dlopen_zstd(int log_level) _dlopen_loader_;
int dlopen_zlib(int log_level) _dlopen_loader_;
int dlopen_bzip2(int log_level) _dlopen_loader_;
int dlopen_compress(Compression c, int log_level);
int dlopen_compress_journal(Compression c, int log_level);
static inline int dlopen_compress_default(int log_level) {
return dlopen_compress_journal(DEFAULT_COMPRESSION, log_level);
}
static inline const char* default_compression_extension(void) {
return compression_extension_to_string(DEFAULT_COMPRESSION) ?: "";
}
+3
View File
@@ -33,6 +33,9 @@ except ImportError:
# Function filter: Maps wrapper/sentinel symbols to real symbols or an empty list (ignore).
FUNCTION_FILTER = {
# Filtered out (internal helpers, verbose loggers, sentinels)
'dlopen_compress': [],
'dlopen_compress_journal': [],
'dlopen_compress_default': [],
'dlopen_safe': [],
'dlopen_verbose': [],
'dlopen_many_sym_or_warn_sentinel': [],