[PATCH] f2fs-tools: fix wrong write pointer check for non-zoned areas

From: Daeho Jeong
Date: Tue Jun 06 2023 - 13:40:23 EST


From: Daeho Jeong <daehojeong@xxxxxxxxxx>

Do not check F2FS_ZONED_HM for the whole device. We need to do this for
each area of devices.

Signed-off-by: Daeho Jeong <daehojeong@xxxxxxxxxx>
---
fsck/mount.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fsck/mount.c b/fsck/mount.c
index 851a62b..0ebbfcf 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -2868,9 +2868,6 @@ static bool write_pointer_at_zone_start(struct f2fs_sb_info *sbi,
int log_sectors_per_block = sbi->log_blocksize - SECTOR_SHIFT;
int ret, j;

- if (c.zoned_model != F2FS_ZONED_HM)
- return true;
-
for (j = 0; j < MAX_DEVICES; j++) {
if (!c.devices[j].path)
break;
@@ -2882,6 +2879,9 @@ static bool write_pointer_at_zone_start(struct f2fs_sb_info *sbi,
if (j >= MAX_DEVICES)
return false;

+ if (c.devices[j].zoned_model != F2FS_ZONED_HM)
+ return true;
+
sector = (block - c.devices[j].start_blkaddr) << log_sectors_per_block;
ret = f2fs_report_zone(j, sector, &blkz);
if (ret)
--
2.41.0.rc0.172.g3f132b7071-goog