f2fs: call bdev_zone_sectors() only once on init_blkz_info()
authorLuis Chamberlain <mcgrof@kernel.org>
Wed, 27 Apr 2022 16:02:53 +0000 (18:02 +0200)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 6 May 2022 17:18:11 +0000 (10:18 -0700)
Instead of calling bdev_zone_sectors() multiple times, call
it once and cache the value locally. This will make the
subsequent change easier to read.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/super.c

index cb50f8b2e41ad158c7ca0535da400c2e45ea7060..df232ec8587144c193dadc4bc6d90e063792326a 100644 (file)
@@ -3651,22 +3651,25 @@ static int init_blkz_info(struct f2fs_sb_info *sbi, int devi)
        struct block_device *bdev = FDEV(devi).bdev;
        sector_t nr_sectors = bdev_nr_sectors(bdev);
        struct f2fs_report_zones_args rep_zone_arg;
+       u64 zone_sectors;
        int ret;
 
        if (!f2fs_sb_has_blkzoned(sbi))
                return 0;
 
+       zone_sectors = bdev_zone_sectors(bdev);
+
        if (sbi->blocks_per_blkz && sbi->blocks_per_blkz !=
-                               SECTOR_TO_BLOCK(bdev_zone_sectors(bdev)))
+                               SECTOR_TO_BLOCK(zone_sectors))
                return -EINVAL;
-       sbi->blocks_per_blkz = SECTOR_TO_BLOCK(bdev_zone_sectors(bdev));
+       sbi->blocks_per_blkz = SECTOR_TO_BLOCK(zone_sectors);
        if (sbi->log_blocks_per_blkz && sbi->log_blocks_per_blkz !=
                                __ilog2_u32(sbi->blocks_per_blkz))
                return -EINVAL;
        sbi->log_blocks_per_blkz = __ilog2_u32(sbi->blocks_per_blkz);
        FDEV(devi).nr_blkz = SECTOR_TO_BLOCK(nr_sectors) >>
                                        sbi->log_blocks_per_blkz;
-       if (nr_sectors & (bdev_zone_sectors(bdev) - 1))
+       if (nr_sectors & (zone_sectors - 1))
                FDEV(devi).nr_blkz++;
 
        FDEV(devi).blkz_seq = f2fs_kvzalloc(sbi,