diff options
author | Dennis Zhou <dennis@kernel.org> | 2019-02-04 15:20:05 -0500 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-02-25 14:13:32 +0100 |
commit | d0ab62ce2ded36294f3a02156415b8157d660b95 (patch) | |
tree | a006f0e8aeb45c23b45a405ef9ae1bf630476eae /fs/btrfs/super.c | |
parent | 7bf4994304e27454c5cf99de1d43033cb29b34fd (diff) | |
download | linux-d0ab62ce2ded36294f3a02156415b8157d660b95.tar.bz2 |
btrfs: change set_level() to bound the level passed in
Currently, the only user of set_level() is zlib which sets an internal
workspace parameter. As level is now plumbed into get_workspace(), this
can be handled there rather than separately.
This repurposes set_level() to bound the level passed in so it can be
used when setting the mounts compression level and as well as verifying
the level before getting a workspace. The other benefit is this divides
the meaning of compress(0) and get_workspace(0). The former means we
want to use the default compression level of the compression type. The
latter means we can use any workspace available.
Signed-off-by: Dennis Zhou <dennis@kernel.org>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/super.c')
-rw-r--r-- | fs/btrfs/super.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c index f9d13a30aa8a..9ac94c9d597d 100644 --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -529,7 +529,9 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options, if (token != Opt_compress && token != Opt_compress_force) info->compress_level = - btrfs_compress_str2level(args[0].from); + btrfs_compress_str2level( + BTRFS_COMPRESS_ZLIB, + args[0].from + 4); btrfs_set_opt(info->mount_opt, COMPRESS); btrfs_clear_opt(info->mount_opt, NODATACOW); btrfs_clear_opt(info->mount_opt, NODATASUM); |