tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 6cc11d2a1759275b856e464265823d94aabd5eaf commit: 97f19d0009777c7f330f559360d6697b7d534ed3 [6752/7019] xfs: support CoW in fsdax mode config: sparc-randconfig-s031-20220629 (https://download.01.org/0day-ci/archive/20220701/202207011147.1SRZhlxk-lkp@xxxxxxxxx/config) compiler: sparc-linux-gcc (GCC) 11.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=97f19d0009777c7f330f559360d6697b7d534ed3 git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 97f19d0009777c7f330f559360d6697b7d534ed3 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc SHELL=/bin/bash fs/xfs/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) fs/xfs/xfs_file.c:1273:1: sparse: sparse: symbol 'xfs_dax_fault' was not declared. Should it be static? >> fs/xfs/xfs_file.c:1314:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted vm_fault_t [usertype] ret @@ got int @@ fs/xfs/xfs_file.c:1314:21: sparse: expected restricted vm_fault_t [usertype] ret fs/xfs/xfs_file.c:1314:21: sparse: got int vim +1314 fs/xfs/xfs_file.c 1282 1283 /* 1284 * Locking for serialisation of IO during page faults. This results in a lock 1285 * ordering of: 1286 * 1287 * mmap_lock (MM) 1288 * sb_start_pagefault(vfs, freeze) 1289 * invalidate_lock (vfs/XFS_MMAPLOCK - truncate serialisation) 1290 * page_lock (MM) 1291 * i_lock (XFS - extent map serialisation) 1292 */ 1293 static vm_fault_t 1294 __xfs_filemap_fault( 1295 struct vm_fault *vmf, 1296 enum page_entry_size pe_size, 1297 bool write_fault) 1298 { 1299 struct inode *inode = file_inode(vmf->vma->vm_file); 1300 struct xfs_inode *ip = XFS_I(inode); 1301 vm_fault_t ret; 1302 1303 trace_xfs_filemap_fault(ip, pe_size, write_fault); 1304 1305 if (write_fault) { 1306 sb_start_pagefault(inode->i_sb); 1307 file_update_time(vmf->vma->vm_file); 1308 } 1309 1310 if (IS_DAX(inode)) { 1311 pfn_t pfn; 1312 1313 xfs_ilock(XFS_I(inode), XFS_MMAPLOCK_SHARED); > 1314 ret = xfs_dax_fault(vmf, pe_size, write_fault, &pfn); 1315 if (ret & VM_FAULT_NEEDDSYNC) 1316 ret = dax_finish_sync_fault(vmf, pe_size, pfn); 1317 xfs_iunlock(XFS_I(inode), XFS_MMAPLOCK_SHARED); 1318 } else { 1319 if (write_fault) { 1320 xfs_ilock(XFS_I(inode), XFS_MMAPLOCK_SHARED); 1321 ret = iomap_page_mkwrite(vmf, 1322 &xfs_buffered_write_iomap_ops); 1323 xfs_iunlock(XFS_I(inode), XFS_MMAPLOCK_SHARED); 1324 } else { 1325 ret = filemap_fault(vmf); 1326 } 1327 } 1328 1329 if (write_fault) 1330 sb_end_pagefault(inode->i_sb); 1331 return ret; 1332 } 1333 -- 0-DAY CI Kernel Test Service https://01.org/lkp