2020-12-07 09:59:37

by Chao Yu

[permalink] [raw]
Subject: [PATCH RESEND] f2fs: compress: deny setting unsupported compress algorithm

If kernel doesn't support certain kinds of compress algorithm, deny to set
them as compress algorithm of f2fs via 'compress_algorithm=%s' mount option.

Signed-off-by: Chao Yu <[email protected]>
---
no changes, just rebase on dev branch.
fs/f2fs/super.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index e0fe72f1d2c8..662e59f32645 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -936,9 +936,14 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
if (!name)
return -ENOMEM;
if (!strcmp(name, "lzo")) {
+#ifdef CONFIG_F2FS_FS_LZO
F2FS_OPTION(sbi).compress_algorithm =
COMPRESS_LZO;
+#else
+ f2fs_info(sbi, "Image doesn't support lzo compression");
+#endif
} else if (!strncmp(name, "lz4", 3)) {
+#ifdef CONFIG_F2FS_FS_LZ4
ret = f2fs_compress_set_level(sbi, name,
COMPRESS_LZ4);
if (ret) {
@@ -947,7 +952,11 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
}
F2FS_OPTION(sbi).compress_algorithm =
COMPRESS_LZ4;
+#else
+ f2fs_info(sbi, "Image doesn't support lz4 compression");
+#endif
} else if (!strncmp(name, "zstd", 4)) {
+#ifdef CONFIG_F2FS_FS_ZSTD
ret = f2fs_compress_set_level(sbi, name,
COMPRESS_ZSTD);
if (ret) {
@@ -956,9 +965,16 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
}
F2FS_OPTION(sbi).compress_algorithm =
COMPRESS_ZSTD;
+#else
+ f2fs_info(sbi, "Image doesn't support zstd compression");
+#endif
} else if (!strcmp(name, "lzo-rle")) {
+#ifdef CONFIG_F2FS_FS_LZORLE
F2FS_OPTION(sbi).compress_algorithm =
COMPRESS_LZORLE;
+#else
+ f2fs_info(sbi, "Image doesn't support lzorle compression");
+#endif
} else {
kfree(name);
return -EINVAL;
--
2.29.2


2020-12-07 18:20:13

by Eric Biggers

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH RESEND] f2fs: compress: deny setting unsupported compress algorithm

On Mon, Dec 07, 2020 at 05:56:09PM +0800, Chao Yu wrote:
> If kernel doesn't support certain kinds of compress algorithm, deny to set
> them as compress algorithm of f2fs via 'compress_algorithm=%s' mount option.
>
> Signed-off-by: Chao Yu <[email protected]>
> ---
> no changes, just rebase on dev branch.

This doesn't apply to the dev branch anymore.

> fs/f2fs/super.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> index e0fe72f1d2c8..662e59f32645 100644
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c
> @@ -936,9 +936,14 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
> if (!name)
> return -ENOMEM;
> if (!strcmp(name, "lzo")) {
> +#ifdef CONFIG_F2FS_FS_LZO
> F2FS_OPTION(sbi).compress_algorithm =
> COMPRESS_LZO;
> +#else
> + f2fs_info(sbi, "Image doesn't support lzo compression");
> +#endif

These info messages don't make sense. It's not the filesystem image that
doesn't support the algorithm, but rather the kernel that doesn't.

Also, shouldn't these be warnings instead of "info"?

- Eric

2020-12-08 03:13:08

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH RESEND] f2fs: compress: deny setting unsupported compress algorithm

On 2020/12/8 2:16, Eric Biggers wrote:
> On Mon, Dec 07, 2020 at 05:56:09PM +0800, Chao Yu wrote:
>> If kernel doesn't support certain kinds of compress algorithm, deny to set
>> them as compress algorithm of f2fs via 'compress_algorithm=%s' mount option.
>>
>> Signed-off-by: Chao Yu <[email protected]>
>> ---
>> no changes, just rebase on dev branch.
>
> This doesn't apply to the dev branch anymore.

Maybe you apply patches with wrong order?

https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/log/?h=dev

>
>> fs/f2fs/super.c | 16 ++++++++++++++++
>> 1 file changed, 16 insertions(+)
>>
>> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
>> index e0fe72f1d2c8..662e59f32645 100644
>> --- a/fs/f2fs/super.c
>> +++ b/fs/f2fs/super.c
>> @@ -936,9 +936,14 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
>> if (!name)
>> return -ENOMEM;
>> if (!strcmp(name, "lzo")) {
>> +#ifdef CONFIG_F2FS_FS_LZO
>> F2FS_OPTION(sbi).compress_algorithm =
>> COMPRESS_LZO;
>> +#else
>> + f2fs_info(sbi, "Image doesn't support lzo compression");
>> +#endif
>
> These info messages don't make sense. It's not the filesystem image that
> doesn't support the algorithm, but rather the kernel that doesn't.
>
> Also, shouldn't these be warnings instead of "info"?

Correct.

>
> - Eric
> .
>

2020-12-08 04:11:52

by Chao Yu

[permalink] [raw]
Subject: Re: [f2fs-dev] [PATCH RESEND] f2fs: compress: deny setting unsupported compress algorithm

On 2020/12/8 9:09, Chao Yu wrote:
> On 2020/12/8 2:16, Eric Biggers wrote:
>> On Mon, Dec 07, 2020 at 05:56:09PM +0800, Chao Yu wrote:
>>> If kernel doesn't support certain kinds of compress algorithm, deny to set
>>> them as compress algorithm of f2fs via 'compress_algorithm=%s' mount option.
>>>
>>> Signed-off-by: Chao Yu <[email protected]>
>>> ---
>>> no changes, just rebase on dev branch.
>>
>> This doesn't apply to the dev branch anymore.
>
> Maybe you apply patches with wrong order?
>
> https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/log/?h=dev
>
>>
>>> fs/f2fs/super.c | 16 ++++++++++++++++
>>> 1 file changed, 16 insertions(+)
>>>
>>> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
>>> index e0fe72f1d2c8..662e59f32645 100644
>>> --- a/fs/f2fs/super.c
>>> +++ b/fs/f2fs/super.c
>>> @@ -936,9 +936,14 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
>>> if (!name)
>>> return -ENOMEM;
>>> if (!strcmp(name, "lzo")) {
>>> +#ifdef CONFIG_F2FS_FS_LZO
>>> F2FS_OPTION(sbi).compress_algorithm =
>>> COMPRESS_LZO;
>>> +#else
>>> + f2fs_info(sbi, "Image doesn't support lzo compression");
>>> +#endif
>>
>> These info messages don't make sense. It's not the filesystem image that
>> doesn't support the algorithm, but rather the kernel that doesn't.
>>
>> Also, shouldn't these be warnings instead of "info"?

I use f2fs_info() in this patch to keep line with other logs, I will send
another patch to use f2fs_warn() instead.

>
> Correct.
>
>>
>> - Eric
>> .
>>
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> .
>