[PATCH] f2fs: judge whether discard_unit is section only when have CONFIG_BLK_DEV_ZONED

Yangtao Li posted 1 patch 2 years, 9 months ago
fs/f2fs/super.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
[PATCH] f2fs: judge whether discard_unit is section only when have CONFIG_BLK_DEV_ZONED
Posted by Yangtao Li 2 years, 9 months ago
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>
---
 fs/f2fs/super.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index 79bf1faf4161..753c97be7d39 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1289,19 +1289,18 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
 	 * 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
-- 
2.25.1
Re: [PATCH] f2fs: judge whether discard_unit is section only when have CONFIG_BLK_DEV_ZONED
Posted by Chao Yu 2 years, 8 months ago
On 2022/11/29 20:29, Yangtao Li wrote:
> 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>

Thanks,