[xiang-erofs:dev-test 17/17] fs/erofs/inode.c:296: undefined reference to `z_erofs_aops'

kernel test robot lkp at intel.com
Wed Apr 12 01:08:18 AEST 2023


tree:   https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git dev-test
head:   64be79d41fc0aefc57b4127f949e9995e739398e
commit: 64be79d41fc0aefc57b4127f949e9995e739398e [17/17] erofs: get rid of z_erofs_fill_inode()
config: powerpc-randconfig-r022-20230410 (https://download.01.org/0day-ci/archive/20230411/202304112232.IFr8fsS7-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git/commit/?id=64be79d41fc0aefc57b4127f949e9995e739398e
        git remote add xiang-erofs https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
        git fetch --no-tags xiang-erofs dev-test
        git checkout 64be79d41fc0aefc57b4127f949e9995e739398e
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp at intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304112232.IFr8fsS7-lkp@intel.com/

All errors (new ones prefixed by >>):

   powerpc-linux-ld: fs/erofs/inode.o: in function `erofs_fill_inode':
>> fs/erofs/inode.c:296: undefined reference to `z_erofs_aops'
>> powerpc-linux-ld: fs/erofs/inode.c:296: undefined reference to `z_erofs_aops'


vim +296 fs/erofs/inode.c

   245	
   246	static int erofs_fill_inode(struct inode *inode)
   247	{
   248		struct erofs_inode *vi = EROFS_I(inode);
   249		struct erofs_buf buf = __EROFS_BUF_INITIALIZER;
   250		void *kaddr;
   251		unsigned int ofs;
   252		int err = 0;
   253	
   254		trace_erofs_fill_inode(inode);
   255	
   256		/* read inode base data from disk */
   257		kaddr = erofs_read_inode(&buf, inode, &ofs);
   258		if (IS_ERR(kaddr))
   259			return PTR_ERR(kaddr);
   260	
   261		/* setup the new inode */
   262		switch (inode->i_mode & S_IFMT) {
   263		case S_IFREG:
   264			inode->i_op = &erofs_generic_iops;
   265			if (erofs_inode_is_data_compressed(vi->datalayout))
   266				inode->i_fop = &generic_ro_fops;
   267			else
   268				inode->i_fop = &erofs_file_fops;
   269			break;
   270		case S_IFDIR:
   271			inode->i_op = &erofs_dir_iops;
   272			inode->i_fop = &erofs_dir_fops;
   273			inode_nohighmem(inode);
   274			break;
   275		case S_IFLNK:
   276			err = erofs_fill_symlink(inode, kaddr, ofs);
   277			if (err)
   278				goto out_unlock;
   279			inode_nohighmem(inode);
   280			break;
   281		case S_IFCHR:
   282		case S_IFBLK:
   283		case S_IFIFO:
   284		case S_IFSOCK:
   285			inode->i_op = &erofs_generic_iops;
   286			init_special_inode(inode, inode->i_mode, inode->i_rdev);
   287			goto out_unlock;
   288		default:
   289			err = -EFSCORRUPTED;
   290			goto out_unlock;
   291		}
   292	
   293		if (erofs_inode_is_data_compressed(vi->datalayout)) {
   294			if (!erofs_is_fscache_mode(inode->i_sb) &&
   295			    inode->i_sb->s_blocksize_bits == PAGE_SHIFT) {
 > 296				inode->i_mapping->a_ops = &z_erofs_aops;
   297				err = 0;
   298			} else {
   299				err = -EOPNOTSUPP;
   300			}
   301			goto out_unlock;
   302		}
   303		inode->i_mapping->a_ops = &erofs_raw_access_aops;
   304		mapping_set_large_folios(inode->i_mapping);
   305	#ifdef CONFIG_EROFS_FS_ONDEMAND
   306		if (erofs_is_fscache_mode(inode->i_sb))
   307			inode->i_mapping->a_ops = &erofs_fscache_access_aops;
   308	#endif
   309	
   310	out_unlock:
   311		erofs_put_metabuf(&buf);
   312		return err;
   313	}
   314	

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


More information about the Linux-erofs mailing list