btrfs: allow to set compression level for zlib
authorDavid Sterba <dsterba@suse.com>
Fri, 15 Sep 2017 15:36:57 +0000 (17:36 +0200)
committerDavid Sterba <dsterba@suse.com>
Wed, 1 Nov 2017 19:45:29 +0000 (20:45 +0100)
commitf51d2b59120ff364a5e612a594ed358767e1cd09
tree349ed68bde053fc040138f4255aca2dab83b0bba
parentd4417e22551377c6e589c15ff2b931610e5230bc
btrfs: allow to set compression level for zlib

Preliminary support for setting compression level for zlib, the
following works:

$ mount -o compess=zlib                 # default
$ mount -o compess=zlib0                # same
$ mount -o compess=zlib9                # level 9, slower sync, less data
$ mount -o compess=zlib1                # level 1, faster sync, more data
$ mount -o remount,compress=zlib3 # level set by remount

The compress-force works the same as compress'.  The level is visible in
the same format in /proc/mounts. Level set via file property does not
work yet.

Required patch: "btrfs: prepare for extensions in compression options"

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/compression.c
fs/btrfs/compression.h
fs/btrfs/ctree.h
fs/btrfs/inode.c
fs/btrfs/lzo.c
fs/btrfs/super.c
fs/btrfs/zlib.c
fs/btrfs/zstd.c