]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
[contrib][linux-kernel] Add zstd_min_clevel() and zstd_max_clevel()
authorNick Terrell <terrelln@fb.com>
Tue, 30 Mar 2021 00:52:28 +0000 (17:52 -0700)
committerNick Terrell <nickrterrell@gmail.com>
Tue, 30 Mar 2021 17:30:59 +0000 (10:30 -0700)
contrib/linux-kernel/linux_zstd.h
contrib/linux-kernel/test/test.c
contrib/linux-kernel/zstd_compress_module.c

index 19410081a4f91d8e1c82b4a1f6aa1c93b21e33b1..446ecabcdd0227e37b20f88fa2139a97dd50f655 100644 (file)
@@ -63,6 +63,20 @@ zstd_error_code zstd_get_error_code(size_t code);
  */
 const char *zstd_get_error_name(size_t code);
 
+/**
+ * zstd_min_clevel() - minimum allowed compression level
+ *
+ * Return: The minimum allowed compression level.
+ */
+int zstd_min_clevel(void);
+
+/**
+ * zstd_max_clevel() - maximum allowed compression level
+ *
+ * Return: The maximum allowed compression level.
+ */
+int zstd_max_clevel(void);
+
 /* ======   Parameter Selection   ====== */
 
 /**
index 1ffc397fa8c5683a5d7fe1b82f5903cc6a25df18..9064be7936aa7e995e6ae96b20889358a311a492 100644 (file)
@@ -169,6 +169,13 @@ static void test_decompress_unzstd(test_data_t const *data) {
     fprintf(stderr, "Ok\n");
 }
 
+static void test_f2fs() {
+  fprintf(stderr, "testing f2fs uses... ");
+  CONTROL(zstd_min_clevel() < 0);
+  CONTROL(zstd_max_clevel() == 22);
+  fprintf(stderr, "Ok\n");
+}
+
 static char *g_stack = NULL;
 
 static void __attribute__((noinline)) use(void *x) {
@@ -195,6 +202,7 @@ static void __attribute__((noinline)) check_stack() {
 
 static void test_stack_usage(test_data_t const *data) {
   set_stack();
+  test_f2fs();
   test_btrfs(data);
   test_decompress_unzstd(data);
   check_stack();
@@ -202,6 +210,7 @@ static void test_stack_usage(test_data_t const *data) {
 
 int main(void) {
   test_data_t data = create_test_data();
+  test_f2fs();
   test_btrfs(&data);
   test_decompress_unzstd(&data);
   test_stack_usage(&data);
index fb7dda173d191e21624c7bb590d879248cdf1c03..37d08ff43e6e9082a1aaa4b4ea771bd636256e23 100644 (file)
 #include "common/zstd_deps.h"
 #include "common/zstd_internal.h"
 
+int zstd_min_clevel(void)
+{
+       return ZSTD_minCLevel();
+}
+EXPORT_SYMBOL(zstd_min_clevel);
+
+int zstd_max_clevel(void)
+{
+       return ZSTD_maxCLevel();
+}
+EXPORT_SYMBOL(zstd_max_clevel);
+
 size_t zstd_compress_bound(size_t src_size)
 {
        return ZSTD_compressBound(src_size);