From: Yangtao Li Date: Sun, 19 Mar 2023 07:51:30 +0000 (+0800) Subject: f2fs: add compression feature check for all compress mount opt X-Git-Tag: v6.4-rc1~138^2~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d4998b7895ab3a590bcf85f08033166ee9502b03;p=thirdparty%2Flinux.git f2fs: add compression feature check for all compress mount opt Opt_compress_chksum, Opt_compress_mode and Opt_compress_cache lack the necessary check to see if the image supports compression, let's add it. Signed-off-by: Yangtao Li Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 50d23dcc33fb3..7d0202f7b3177 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -1179,9 +1179,17 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) kfree(name); break; case Opt_compress_chksum: + if (!f2fs_sb_has_compression(sbi)) { + f2fs_info(sbi, "Image doesn't support compression"); + break; + } F2FS_OPTION(sbi).compress_chksum = true; break; case Opt_compress_mode: + if (!f2fs_sb_has_compression(sbi)) { + f2fs_info(sbi, "Image doesn't support compression"); + break; + } name = match_strdup(&args[0]); if (!name) return -ENOMEM; @@ -1196,6 +1204,10 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount) kfree(name); break; case Opt_compress_cache: + if (!f2fs_sb_has_compression(sbi)) { + f2fs_info(sbi, "Image doesn't support compression"); + break; + } set_opt(sbi, COMPRESS_CACHE); break; #else