f2fs: judge whether discard_unit is section only when have CONFIG_BLK_DEV_ZONED
authorYangtao Li <frank.li@vivo.com>
Tue, 29 Nov 2022 12:29:28 +0000 (20:29 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 11 Jan 2023 19:15:18 +0000 (11:15 -0800)
The current logic, regardless of whether CONFIG_BLK_DEV_ZONED
is enabled or not, will judge whether discard_unit is SECTION,
when f2fs_sb_has_blkzoned.

In fact, when CONFIG_BLK_DEV_ZONED is not enabled, this judgment
is a path that will never be accessed. At this time, -EINVAL will
be returned in the parse_options function, accompanied by the
message "Zoned block device support is not enabled".

Let's wrap this discard_unit judgment with CONFIG_BLK_DEV_ZONED.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/super.c

index 87d56a9883e656e528fe28a135ba369f0961fffb..1d057a4c664249e353eed97c2b6da5440d009fcd 100644 (file)
@@ -1294,19 +1294,18 @@ default_check:
         * zone alignment optimization. This is optional for host-aware
         * devices, but mandatory for host-managed zoned block devices.
         */
-#ifndef CONFIG_BLK_DEV_ZONED
-       if (f2fs_sb_has_blkzoned(sbi)) {
-               f2fs_err(sbi, "Zoned block device support is not enabled");
-               return -EINVAL;
-       }
-#endif
        if (f2fs_sb_has_blkzoned(sbi)) {
+#ifdef CONFIG_BLK_DEV_ZONED
                if (F2FS_OPTION(sbi).discard_unit !=
                                                DISCARD_UNIT_SECTION) {
                        f2fs_info(sbi, "Zoned block device doesn't need small discard, set discard_unit=section by default");
                        F2FS_OPTION(sbi).discard_unit =
                                        DISCARD_UNIT_SECTION;
                }
+#else
+               f2fs_err(sbi, "Zoned block device support is not enabled");
+               return -EINVAL;
+#endif
        }
 
 #ifdef CONFIG_F2FS_FS_COMPRESSION