From: Marcos Paulo de Souza <marcos@mpdesouza.com>
To: dsterba@suse.com, linux-btrfs@vger.kernel.org
Cc: Marcos Paulo de Souza <mpdesouza@suse.com>
Subject: [PATCH] btrfs: super.c: Set compress_level=0 when using compress=lzo
Date: Mon, 3 Aug 2020 16:55:01 -0300 [thread overview]
Message-ID: <20200803195501.30528-1-marcos@mpdesouza.com> (raw)
From: Marcos Paulo de Souza <mpdesouza@suse.com>
Currently a user can set mount "-o compress" which will set the
compression algorithm to zlib, and use the default compress level for
zlib (3):
relatime,compress=zlib:3,space_cache
If the user remounts the fs using "-o compress=lzo", then the old
compress_level is used:
relatime,compress=lzo:3,space_cache
But lzo does not exposes any tunable compress level. The same happens if we set
any compress argument with different level, even with zstd.
Fix this issue by resetting the compress_level when compress=lzo is specified.
With the fix applied, lzo is shown without compress level, even after remounting
from zlib or zstd:
relatime,compress=lzo,space_cache
Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
---
I found this issue while testing mount options. Should we tag this fix for
stable since the introduction of the compress_level, or is it no worthy?
fs/btrfs/super.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
index a034ed52b5f6..dd2f05f9d6c6 100644
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -614,6 +614,8 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
} else if (strncmp(args[0].from, "lzo", 3) == 0) {
compress_type = "lzo";
info->compress_type = BTRFS_COMPRESS_LZO;
+ /* lzo does not expose compression levels */
+ info->compress_level = 0;
btrfs_set_opt(info->mount_opt, COMPRESS);
btrfs_clear_opt(info->mount_opt, NODATACOW);
btrfs_clear_opt(info->mount_opt, NODATASUM);
--
2.27.0
next reply other threads:[~2020-08-03 20:44 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-03 19:55 Marcos Paulo de Souza [this message]
2020-08-11 14:12 ` [PATCH] btrfs: super.c: Set compress_level=0 when using compress=lzo David Sterba
2020-08-11 14:22 ` David Sterba
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200803195501.30528-1-marcos@mpdesouza.com \
--to=marcos@mpdesouza.com \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=mpdesouza@suse.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox