aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaeho Jeong <daehojeong@google.com>2023-06-06 10:39:48 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2023-06-08 17:23:01 -0700
commite565fbb1ab8582afe97991e8b8cc451d0b755887 (patch)
treed7b45ec38876425cc5d5e0f8d80aa565a0d679f1
parenta0bef78aeefc53bbaaf1a4c1d3b2429beca509a7 (diff)
downloadf2fs-tools-e565fbb1ab8582afe97991e8b8cc451d0b755887.tar.gz
f2fs-tools: fix wrong write pointer check for non-zoned areas
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@google.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fsck/mount.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fsck/mount.c b/fsck/mount.c
index 0310173..8db2a97 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -2842,9 +2842,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;
@@ -2856,6 +2853,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)