public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
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


             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