Message ID | 20240212160818.1020903-1-chao@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | ff059dcdda5746cfb9761533e561285dfec62650 |
Headers | show |
Series | [f2fs-dev] f2fs: compress: fix to check zstd compress level correctly in mount option | expand |
Hello: This patch was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Tue, 13 Feb 2024 00:08:18 +0800 you wrote: > f2fs only support to config zstd compress level w/ a positive number due > to layout design, but since commit e0c1b49f5b67 ("lib: zstd: Upgrade to > latest upstream zstd version 1.4.10"), zstd supports negative compress > level, so that zstd_min_clevel() may return a negative number, then w/ > below mount option, .compress_level can be configed w/ a negative number, > which is not allowed to f2fs, let's add check condition to avoid it. > > [...] Here is the summary with links: - [f2fs-dev] f2fs: compress: fix to check zstd compress level correctly in mount option https://git.kernel.org/jaegeuk/f2fs/c/ff059dcdda57 You are awesome, thank you!
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 1b718bebfaa1..a29b8e25a2ed 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -669,7 +669,7 @@ static int f2fs_set_lz4hc_level(struct f2fs_sb_info *sbi, const char *str) #ifdef CONFIG_F2FS_FS_ZSTD static int f2fs_set_zstd_level(struct f2fs_sb_info *sbi, const char *str) { - unsigned int level; + int level; int len = 4; if (strlen(str) == len) { @@ -683,9 +683,15 @@ static int f2fs_set_zstd_level(struct f2fs_sb_info *sbi, const char *str) f2fs_info(sbi, "wrong format, e.g. <alg_name>:<compr_level>"); return -EINVAL; } - if (kstrtouint(str + 1, 10, &level)) + if (kstrtoint(str + 1, 10, &level)) return -EINVAL; + /* f2fs does not support negative compress level now */ + if (level < 0) { + f2fs_info(sbi, "do not support negative compress level: %d", level); + return -ERANGE; + } + if (!f2fs_is_compress_level_valid(COMPRESS_ZSTD, level)) { f2fs_info(sbi, "invalid zstd compress level: %d", level); return -EINVAL;
f2fs only support to config zstd compress level w/ a positive number due to layout design, but since commit e0c1b49f5b67 ("lib: zstd: Upgrade to latest upstream zstd version 1.4.10"), zstd supports negative compress level, so that zstd_min_clevel() may return a negative number, then w/ below mount option, .compress_level can be configed w/ a negative number, which is not allowed to f2fs, let's add check condition to avoid it. mount -o compress_algorithm=zstd:4294967295 /dev/sdx /mnt/f2fs Fixes: 00e120b5e4b5 ("f2fs: assign default compression level") Signed-off-by: Chao Yu <chao@kernel.org> --- fs/f2fs/super.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)