Message ID | 78207f6784c457dad6583f7bc7eecc495c7d5d54.1565362438.git.dsterba@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Compression level API cleanups | expand |
On 9.08.19 г. 17:55 ч., David Sterba wrote: > 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 <dsterba@suse.com> > --- > 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..07b2009dc63f 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 */ > + int max_level; > + int default_level; can levels be negative? If not just define those as unsigned ints and in the next patch it won't be necessary to use min_t but plain min. > }; > > /* 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, > }; >
On Mon, Aug 12, 2019 at 11:30:42AM +0300, Nikolay Borisov wrote: > > > On 9.08.19 г. 17:55 ч., David Sterba wrote: > > 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 <dsterba@suse.com> > > --- > > 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..07b2009dc63f 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 */ > > + int max_level; > > + int default_level; > > can levels be negative? If not just define those as unsigned ints and in > the next patch it won't be necessary to use min_t but plain min. No, levels should be >= 0.
diff --git a/fs/btrfs/compression.h b/fs/btrfs/compression.h index 2035b8eb1290..07b2009dc63f 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 */ + int max_level; + 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, };
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 <dsterba@suse.com> --- 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(+)