Skip to content

Commit f26aaee

Browse files
Yohan JoungJaegeuk Kim
authored andcommitted
f2fs: fix align check for npo2
Fix alignment check to be correct in npo2 as well Signed-off-by: Yohan Joung <yohan.joung@sk.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
1 parent d4998b7 commit f26aaee

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

fs/f2fs/segment.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1845,6 +1845,7 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi,
18451845
sector_t sector, nr_sects;
18461846
block_t lblkstart = blkstart;
18471847
int devi = 0;
1848+
u64 remainder = 0;
18481849

18491850
if (f2fs_is_multi_device(sbi)) {
18501851
devi = f2fs_target_device_index(sbi, blkstart);
@@ -1860,9 +1861,9 @@ static int __f2fs_issue_discard_zone(struct f2fs_sb_info *sbi,
18601861
if (f2fs_blkz_is_seq(sbi, devi, blkstart)) {
18611862
sector = SECTOR_FROM_BLOCK(blkstart);
18621863
nr_sects = SECTOR_FROM_BLOCK(blklen);
1864+
div64_u64_rem(sector, bdev_zone_sectors(bdev), &remainder);
18631865

1864-
if (sector & (bdev_zone_sectors(bdev) - 1) ||
1865-
nr_sects != bdev_zone_sectors(bdev)) {
1866+
if (remainder || nr_sects != bdev_zone_sectors(bdev)) {
18661867
f2fs_err(sbi, "(%d) %s: Unaligned zone reset attempted (block %x + %x)",
18671868
devi, sbi->s_ndevs ? FDEV(devi).path : "",
18681869
blkstart, blklen);

0 commit comments

Comments
 (0)