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/[email protected]/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 <[email protected]>
| Link: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

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

Reply via email to