Hi Chao,

I have sent the second patch with your suggestion. Please have a check.

Thanks.

On 2023/8/2 22:52, Chao Yu wrote:
On 2023/6/20 22:10, 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.

Signed-off-by: Chunhai Guo <[email protected]>
---
   fs/f2fs/super.c | 12 +++++++-----
   1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index c917fa771f0e..6249483be905 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -861,12 +861,14 @@ static int parse_options(struct super_block *sb, char 
*options, bool is_remount)
if (!name)
                                return -ENOMEM;
+
+                       if (strcmp(name, "lfs") && f2fs_sb_has_blkzoned(sbi)) {
+                               f2fs_warn(sbi, "Only lfs mode is allowed with zoned 
block device feature");
+                               kfree(name);
+                               return -EINVAL;
+                       }

What about:

  From f6e71f1d33c2cca543ebb41734c7a95af5190767 Mon Sep 17 00:00:00 2001
From: Chunhai Guo <[email protected]>
Date: Sun, 30 Jul 2023 10:06:50 +0800
Subject: [PATCH] f2fs: only lfs mode is allowed with zoned block device
   feature

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 <[email protected]>
---
   fs/f2fs/super.c | 9 ++++-----
   1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 099e126c61e1..1d0593358125 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -864,11 +864,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;
@@ -1333,6 +1328,10 @@ 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;


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

Reply via email to