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>
This commit is contained in:

committed by
David Sterba

parent
7bf4994304
commit
d0ab62ce2d
@@ -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);
|
||||
|
Reference in New Issue
Block a user