The maximum and default levels do not change and can be defined
directly. The set_level callback was a temporary solution and will be
removed.

Signed-off-by: David Sterba <[email protected]>
---
 fs/btrfs/compression.h | 4 ++++
 fs/btrfs/lzo.c         | 2 ++
 fs/btrfs/zlib.c        | 2 ++
 fs/btrfs/zstd.c        | 2 ++
 4 files changed, 10 insertions(+)

diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h
index 2035b8eb1290..cffd689adb6e 100644
--- a/fs/btrfs/compression.h
+++ b/fs/btrfs/compression.h
@@ -162,6 +162,10 @@ struct btrfs_compress_op {
         * if the level is out of bounds or the default if 0 is passed in.
         */
        unsigned int (*set_level)(unsigned int level);
+
+       /* Maximum level supported by the compression algorithm */
+       unsigned int max_level;
+       unsigned int default_level;
 };
 
 /* The heuristic workspaces are managed via the 0th workspace manager */
diff --git a/fs/btrfs/lzo.c b/fs/btrfs/lzo.c
index 579d53ae256f..adac6cb30d65 100644
--- a/fs/btrfs/lzo.c
+++ b/fs/btrfs/lzo.c
@@ -523,4 +523,6 @@ const struct btrfs_compress_op btrfs_lzo_compress = {
        .decompress_bio         = lzo_decompress_bio,
        .decompress             = lzo_decompress,
        .set_level              = lzo_set_level,
+       .max_level              = 1,
+       .default_level          = 1,
 };
diff --git a/fs/btrfs/zlib.c b/fs/btrfs/zlib.c
index b86b7ad6b900..03d6c3683bd9 100644
--- a/fs/btrfs/zlib.c
+++ b/fs/btrfs/zlib.c
@@ -437,4 +437,6 @@ const struct btrfs_compress_op btrfs_zlib_compress = {
        .decompress_bio         = zlib_decompress_bio,
        .decompress             = zlib_decompress,
        .set_level              = zlib_set_level,
+       .max_level              = 9,
+       .default_level          = BTRFS_ZLIB_DEFAULT_LEVEL,
 };
diff --git a/fs/btrfs/zstd.c b/fs/btrfs/zstd.c
index 3837ca180d52..b2b23a6a497d 100644
--- a/fs/btrfs/zstd.c
+++ b/fs/btrfs/zstd.c
@@ -729,4 +729,6 @@ const struct btrfs_compress_op btrfs_zstd_compress = {
        .decompress_bio = zstd_decompress_bio,
        .decompress = zstd_decompress,
        .set_level = zstd_set_level,
+       .max_level      = ZSTD_BTRFS_MAX_LEVEL,
+       .default_level  = ZSTD_BTRFS_DEFAULT_LEVEL,
 };
-- 
2.22.0

Reply via email to