Skip to content

Commit 84447ee

Browse files
Zhiguo NiuJaegeuk Kim
authored andcommitted
mkfs.f2fs: adjust zone alignment check to correct position
Should check these after c.devices[1].start_blkaddr is assigned when c.ndevs > 1. Fixes: 316e128 ("mkfs.f2fs: adjust zone alignment when using multi-partitions") Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
1 parent 148fc2a commit 84447ee

1 file changed

Lines changed: 12 additions & 11 deletions

File tree

mkfs/f2fs_format.c

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -339,17 +339,6 @@ static int f2fs_prepare_super_block(void)
339339
MSG(0, "Info: zone aligned segment0 blkaddr: %u\n",
340340
get_sb(segment0_blkaddr));
341341

342-
if (c.zoned_mode &&
343-
((c.ndevs == 1 &&
344-
(get_sb(segment0_blkaddr) + c.start_sector /
345-
DEFAULT_SECTORS_PER_BLOCK) % c.zone_blocks) ||
346-
(c.ndevs > 1 &&
347-
c.devices[1].start_blkaddr % c.zone_blocks))) {
348-
MSG(1, "\tError: Unaligned segment0 block address %u\n",
349-
get_sb(segment0_blkaddr));
350-
return -1;
351-
}
352-
353342
for (i = 0; i < c.ndevs; i++) {
354343
if (i == 0) {
355344
c.devices[i].total_segments =
@@ -390,6 +379,18 @@ static int f2fs_prepare_super_block(void)
390379

391380
c.total_segments += c.devices[i].total_segments;
392381
}
382+
383+
if (c.zoned_mode &&
384+
((c.ndevs == 1 &&
385+
(get_sb(segment0_blkaddr) + c.start_sector /
386+
DEFAULT_SECTORS_PER_BLOCK) % c.zone_blocks) ||
387+
(c.ndevs > 1 &&
388+
c.devices[1].start_blkaddr % c.zone_blocks))) {
389+
MSG(1, "\tError: Unaligned segment0 block address %u\n",
390+
get_sb(segment0_blkaddr));
391+
return -1;
392+
}
393+
393394
set_sb(segment_count, c.total_segments);
394395
set_sb(segment_count_ckpt, F2FS_NUMBER_OF_CHECKPOINT_PACK);
395396

0 commit comments

Comments
 (0)