diff mbox series

[f2fs-dev,v2] f2fs: Only lfs mode is allowed with zoned block device feature

Message ID 20230803142842.29062-1-guochunhai@vivo.com (mailing list archive)
State Accepted
Commit 2bd4df8fcbc72f58ce3c62ed021ab291ca42de0b
Headers show
Series [f2fs-dev,v2] f2fs: Only lfs mode is allowed with zoned block device feature | expand

Commit Message

Chunhai Guo Aug. 3, 2023, 2:28 p.m. UTC
Now f2fs support four block allocation modes: lfs, adaptive,
fragment:segment, fragment:block. Only lfs mode is allowed with zoned block
device feature.

Signed-off-by: Chunhai Guo <guochunhai@vivo.com>
---
 fs/f2fs/super.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Chao Yu Aug. 4, 2023, 3:45 a.m. UTC | #1
On 2023/8/3 22:28, Chunhai Guo wrote:
> Now f2fs support four block allocation modes: lfs, adaptive,
> fragment:segment, fragment:block. Only lfs mode is allowed with zoned block
> device feature.
> 

Fixes: 6691d940b0e0 ("f2fs: introduce fragment allocation mode mount option")

Otherwise, it looks good to me.

Thanks,

> Signed-off-by: Chunhai Guo <guochunhai@vivo.com>
> ---
>   fs/f2fs/super.c | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> index 30883beb750a..26add77f9062 100644
> --- a/fs/f2fs/super.c
> +++ b/fs/f2fs/super.c
> @@ -862,11 +862,6 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
>   			if (!name)
>   				return -ENOMEM;
>   			if (!strcmp(name, "adaptive")) {
> -				if (f2fs_sb_has_blkzoned(sbi)) {
> -					f2fs_warn(sbi, "adaptive mode is not allowed with zoned block device feature");
> -					kfree(name);
> -					return -EINVAL;
> -				}
>   				F2FS_OPTION(sbi).fs_mode = FS_MODE_ADAPTIVE;
>   			} else if (!strcmp(name, "lfs")) {
>   				F2FS_OPTION(sbi).fs_mode = FS_MODE_LFS;
> @@ -1331,6 +1326,11 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
>   			F2FS_OPTION(sbi).discard_unit =
>   					DISCARD_UNIT_SECTION;
>   		}
> +
> +		if (F2FS_OPTION(sbi).fs_mode != FS_MODE_LFS) {
> +			f2fs_info(sbi, "Only lfs mode is allowed with zoned block device feature");
> +			return -EINVAL;
> +		}
>   #else
>   		f2fs_err(sbi, "Zoned block device support is not enabled");
>   		return -EINVAL;
patchwork-bot+f2fs@kernel.org Aug. 14, 2023, 8:50 p.m. UTC | #2
Hello:

This patch was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:

On Thu,  3 Aug 2023 22:28:42 +0800 you wrote:
> Now f2fs support four block allocation modes: lfs, adaptive,
> fragment:segment, fragment:block. Only lfs mode is allowed with zoned block
> device feature.
> 
> Signed-off-by: Chunhai Guo <guochunhai@vivo.com>
> ---
>  fs/f2fs/super.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

Here is the summary with links:
  - [f2fs-dev,v2] f2fs: Only lfs mode is allowed with zoned block device feature
    https://git.kernel.org/jaegeuk/f2fs/c/2bd4df8fcbc7

You are awesome, thank you!
diff mbox series

Patch

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 30883beb750a..26add77f9062 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -862,11 +862,6 @@  static int parse_options(struct super_block *sb, char *options, bool is_remount)
 			if (!name)
 				return -ENOMEM;
 			if (!strcmp(name, "adaptive")) {
-				if (f2fs_sb_has_blkzoned(sbi)) {
-					f2fs_warn(sbi, "adaptive mode is not allowed with zoned block device feature");
-					kfree(name);
-					return -EINVAL;
-				}
 				F2FS_OPTION(sbi).fs_mode = FS_MODE_ADAPTIVE;
 			} else if (!strcmp(name, "lfs")) {
 				F2FS_OPTION(sbi).fs_mode = FS_MODE_LFS;
@@ -1331,6 +1326,11 @@  static int parse_options(struct super_block *sb, char *options, bool is_remount)
 			F2FS_OPTION(sbi).discard_unit =
 					DISCARD_UNIT_SECTION;
 		}
+
+		if (F2FS_OPTION(sbi).fs_mode != FS_MODE_LFS) {
+			f2fs_info(sbi, "Only lfs mode is allowed with zoned block device feature");
+			return -EINVAL;
+		}
 #else
 		f2fs_err(sbi, "Zoned block device support is not enabled");
 		return -EINVAL;