Re: [PATCH v2 05/13] mm, swap: clean up device availability check

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Kairui,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]

url:    https://github.com/intel-lab-lkp/linux/commits/Kairui-Song/mm-swap-minor-clean-up-for-swap-entry-allocation/20241224-224136
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20241224143811.33462-6-ryncsn%40gmail.com
patch subject: [PATCH v2 05/13] mm, swap: clean up device availability check
config: arm64-randconfig-001-20241224 (https://download.01.org/0day-ci/archive/20241225/202412250203.RvEcTtUz-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241225/202412250203.RvEcTtUz-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412250203.RvEcTtUz-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   fs/f2fs/data.c: In function 'check_swap_activate':
>> fs/f2fs/data.c:4046:12: error: 'struct swap_info_struct' has no member named 'highest_bit'
    4046 |         sis->highest_bit = cur_lblock - 1;
         |            ^~


vim +4046 fs/f2fs/data.c

859fca6b706e00 Chao Yu              2021-05-26  3940  
0b8fc00601c0d8 Chao Yu              2021-05-26  3941  static int check_swap_activate(struct swap_info_struct *sis,
af4b6b8edf6aad Chao Yu              2020-10-12  3942  				struct file *swap_file, sector_t *span)
af4b6b8edf6aad Chao Yu              2020-10-12  3943  {
af4b6b8edf6aad Chao Yu              2020-10-12  3944  	struct address_space *mapping = swap_file->f_mapping;
af4b6b8edf6aad Chao Yu              2020-10-12  3945  	struct inode *inode = mapping->host;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3946  	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
aa4074e8fec4d2 Wu Bo                2024-04-28  3947  	block_t cur_lblock;
aa4074e8fec4d2 Wu Bo                2024-04-28  3948  	block_t last_lblock;
aa4074e8fec4d2 Wu Bo                2024-04-28  3949  	block_t pblock;
aa4074e8fec4d2 Wu Bo                2024-04-28  3950  	block_t lowest_pblock = -1;
aa4074e8fec4d2 Wu Bo                2024-04-28  3951  	block_t highest_pblock = 0;
af4b6b8edf6aad Chao Yu              2020-10-12  3952  	int nr_extents = 0;
aa4074e8fec4d2 Wu Bo                2024-04-28  3953  	unsigned int nr_pblocks;
859fca6b706e00 Chao Yu              2021-05-26  3954  	unsigned int blks_per_sec = BLKS_PER_SEC(sbi);
ca298241bc2293 Jaegeuk Kim          2021-05-11  3955  	unsigned int not_aligned = 0;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3956  	int ret = 0;
af4b6b8edf6aad Chao Yu              2020-10-12  3957  
af4b6b8edf6aad Chao Yu              2020-10-12  3958  	/*
af4b6b8edf6aad Chao Yu              2020-10-12  3959  	 * Map all the blocks into the extent list.  This code doesn't try
af4b6b8edf6aad Chao Yu              2020-10-12  3960  	 * to be very smart.
af4b6b8edf6aad Chao Yu              2020-10-12  3961  	 */
af4b6b8edf6aad Chao Yu              2020-10-12  3962  	cur_lblock = 0;
7461f370941802 Chao Yu              2024-11-08  3963  	last_lblock = F2FS_BYTES_TO_BLK(i_size_read(inode));
af4b6b8edf6aad Chao Yu              2020-10-12  3964  
1da66103837077 huangjianan@xxxxxxxx 2021-02-27  3965  	while (cur_lblock < last_lblock && cur_lblock < sis->max) {
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3966  		struct f2fs_map_blocks map;
859fca6b706e00 Chao Yu              2021-05-26  3967  retry:
af4b6b8edf6aad Chao Yu              2020-10-12  3968  		cond_resched();
af4b6b8edf6aad Chao Yu              2020-10-12  3969  
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3970  		memset(&map, 0, sizeof(map));
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3971  		map.m_lblk = cur_lblock;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3972  		map.m_len = last_lblock - cur_lblock;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3973  		map.m_next_pgofs = NULL;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3974  		map.m_next_extent = NULL;
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3975  		map.m_seg_type = NO_CHECK_TYPE;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3976  		map.m_may_create = false;
af4b6b8edf6aad Chao Yu              2020-10-12  3977  
cd8fc5226bef3a Christoph Hellwig    2022-11-28  3978  		ret = f2fs_map_blocks(inode, &map, F2FS_GET_BLOCK_FIEMAP);
af4b6b8edf6aad Chao Yu              2020-10-12  3979  		if (ret)
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3980  			goto out;
af4b6b8edf6aad Chao Yu              2020-10-12  3981  
af4b6b8edf6aad Chao Yu              2020-10-12  3982  		/* hole */
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3983  		if (!(map.m_flags & F2FS_MAP_FLAGS)) {
833dcd35453713 Joe Perches          2021-05-26  3984  			f2fs_err(sbi, "Swapfile has holes");
f395183f9544ba Jaegeuk Kim          2021-05-12  3985  			ret = -EINVAL;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3986  			goto out;
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  3987  		}
af4b6b8edf6aad Chao Yu              2020-10-12  3988  
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3989  		pblock = map.m_pblk;
b876f4c94c3d16 Jaegeuk Kim          2020-11-24  3990  		nr_pblocks = map.m_len;
af4b6b8edf6aad Chao Yu              2020-10-12  3991  
aa4074e8fec4d2 Wu Bo                2024-04-28  3992  		if ((pblock - SM_I(sbi)->main_blkaddr) % blks_per_sec ||
aa4074e8fec4d2 Wu Bo                2024-04-28  3993  				nr_pblocks % blks_per_sec ||
9703d69d9d153b Daeho Jeong          2024-02-13  3994  				!f2fs_valid_pinned_area(sbi, pblock)) {
9703d69d9d153b Daeho Jeong          2024-02-13  3995  			bool last_extent = false;
9703d69d9d153b Daeho Jeong          2024-02-13  3996  
ca298241bc2293 Jaegeuk Kim          2021-05-11  3997  			not_aligned++;
859fca6b706e00 Chao Yu              2021-05-26  3998  
859fca6b706e00 Chao Yu              2021-05-26  3999  			nr_pblocks = roundup(nr_pblocks, blks_per_sec);
859fca6b706e00 Chao Yu              2021-05-26  4000  			if (cur_lblock + nr_pblocks > sis->max)
859fca6b706e00 Chao Yu              2021-05-26  4001  				nr_pblocks -= blks_per_sec;
859fca6b706e00 Chao Yu              2021-05-26  4002  
859fca6b706e00 Chao Yu              2021-05-26  4003  			/* this extent is last one */
9703d69d9d153b Daeho Jeong          2024-02-13  4004  			if (!nr_pblocks) {
9703d69d9d153b Daeho Jeong          2024-02-13  4005  				nr_pblocks = last_lblock - cur_lblock;
9703d69d9d153b Daeho Jeong          2024-02-13  4006  				last_extent = true;
ca298241bc2293 Jaegeuk Kim          2021-05-11  4007  			}
36e4d95891ed37 huangjianan@xxxxxxxx 2021-03-01  4008  
859fca6b706e00 Chao Yu              2021-05-26  4009  			ret = f2fs_migrate_blocks(inode, cur_lblock,
859fca6b706e00 Chao Yu              2021-05-26  4010  							nr_pblocks);
9703d69d9d153b Daeho Jeong          2024-02-13  4011  			if (ret) {
9703d69d9d153b Daeho Jeong          2024-02-13  4012  				if (ret == -ENOENT)
9703d69d9d153b Daeho Jeong          2024-02-13  4013  					ret = -EINVAL;
859fca6b706e00 Chao Yu              2021-05-26  4014  				goto out;
9703d69d9d153b Daeho Jeong          2024-02-13  4015  			}
9703d69d9d153b Daeho Jeong          2024-02-13  4016  
9703d69d9d153b Daeho Jeong          2024-02-13  4017  			if (!last_extent)
859fca6b706e00 Chao Yu              2021-05-26  4018  				goto retry;
859fca6b706e00 Chao Yu              2021-05-26  4019  		}
9703d69d9d153b Daeho Jeong          2024-02-13  4020  
af4b6b8edf6aad Chao Yu              2020-10-12  4021  		if (cur_lblock + nr_pblocks >= sis->max)
af4b6b8edf6aad Chao Yu              2020-10-12  4022  			nr_pblocks = sis->max - cur_lblock;
af4b6b8edf6aad Chao Yu              2020-10-12  4023  
af4b6b8edf6aad Chao Yu              2020-10-12  4024  		if (cur_lblock) {	/* exclude the header page */
af4b6b8edf6aad Chao Yu              2020-10-12  4025  			if (pblock < lowest_pblock)
af4b6b8edf6aad Chao Yu              2020-10-12  4026  				lowest_pblock = pblock;
af4b6b8edf6aad Chao Yu              2020-10-12  4027  			if (pblock + nr_pblocks - 1 > highest_pblock)
af4b6b8edf6aad Chao Yu              2020-10-12  4028  				highest_pblock = pblock + nr_pblocks - 1;
af4b6b8edf6aad Chao Yu              2020-10-12  4029  		}
af4b6b8edf6aad Chao Yu              2020-10-12  4030  
af4b6b8edf6aad Chao Yu              2020-10-12  4031  		/*
af4b6b8edf6aad Chao Yu              2020-10-12  4032  		 * We found a PAGE_SIZE-length, PAGE_SIZE-aligned run of blocks
af4b6b8edf6aad Chao Yu              2020-10-12  4033  		 */
af4b6b8edf6aad Chao Yu              2020-10-12  4034  		ret = add_swap_extent(sis, cur_lblock, nr_pblocks, pblock);
af4b6b8edf6aad Chao Yu              2020-10-12  4035  		if (ret < 0)
af4b6b8edf6aad Chao Yu              2020-10-12  4036  			goto out;
af4b6b8edf6aad Chao Yu              2020-10-12  4037  		nr_extents += ret;
af4b6b8edf6aad Chao Yu              2020-10-12  4038  		cur_lblock += nr_pblocks;
af4b6b8edf6aad Chao Yu              2020-10-12  4039  	}
af4b6b8edf6aad Chao Yu              2020-10-12  4040  	ret = nr_extents;
af4b6b8edf6aad Chao Yu              2020-10-12  4041  	*span = 1 + highest_pblock - lowest_pblock;
af4b6b8edf6aad Chao Yu              2020-10-12  4042  	if (cur_lblock == 0)
af4b6b8edf6aad Chao Yu              2020-10-12  4043  		cur_lblock = 1;	/* force Empty message */
af4b6b8edf6aad Chao Yu              2020-10-12  4044  	sis->max = cur_lblock;
af4b6b8edf6aad Chao Yu              2020-10-12  4045  	sis->pages = cur_lblock - 1;
af4b6b8edf6aad Chao Yu              2020-10-12 @4046  	sis->highest_bit = cur_lblock - 1;
af4b6b8edf6aad Chao Yu              2020-10-12  4047  out:
859fca6b706e00 Chao Yu              2021-05-26  4048  	if (not_aligned)
d7e9a9037de27b Daniel Rosenberg     2023-10-02  4049  		f2fs_warn(sbi, "Swapfile (%u) is not align to section: 1) creat(), 2) ioctl(F2FS_IOC_SET_PIN_FILE), 3) fallocate(%lu * N)",
859fca6b706e00 Chao Yu              2021-05-26  4050  			  not_aligned, blks_per_sec * F2FS_BLKSIZE);
af4b6b8edf6aad Chao Yu              2020-10-12  4051  	return ret;
af4b6b8edf6aad Chao Yu              2020-10-12  4052  }
af4b6b8edf6aad Chao Yu              2020-10-12  4053  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux