[chao:feature/dax 8/10] fs/f2fs/file.c:1107:10: error: call to undeclared function 'dax_layout_busy_page'; ISO C99 and later do not support implicit function declarations

From: kernel test robot
Date: Sun Aug 07 2022 - 16:29:02 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git feature/dax
head: 42f73c9b2a369f724de6c1df5acb0bbde2688e35
commit: 59714a25c71315156f6ba8d49b3173915d6943cc [8/10] f2fs: handle layout changes to pinned DAX mappings
config: x86_64-randconfig-a012 (https://download.01.org/0day-ci/archive/20220808/202208080435.GfrxXKZ0-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 5f1c7e2cc5a3c07cbc2412e851a7283c1841f520)
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/chao/linux.git/commit/?id=59714a25c71315156f6ba8d49b3173915d6943cc
git remote add chao https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git
git fetch --no-tags chao feature/dax
git checkout 59714a25c71315156f6ba8d49b3173915d6943cc
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash fs/f2fs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

fs/f2fs/file.c:585:7: error: call to undeclared function 'daxdev_mapping_supported'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
if (!daxdev_mapping_supported(vma, F2FS_I_SB(inode)->s_daxdev))
^
>> fs/f2fs/file.c:1107:10: error: call to undeclared function 'dax_layout_busy_page'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
page = dax_layout_busy_page(inode->i_mapping);
^
>> fs/f2fs/file.c:1107:8: error: incompatible integer to pointer conversion assigning to 'struct page *' from 'int' [-Wint-conversion]
page = dax_layout_busy_page(inode->i_mapping);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 errors generated.


vim +/dax_layout_busy_page +1107 fs/f2fs/file.c

1097
1098 int f2fs_break_layouts(struct inode *inode)
1099 {
1100 struct page *page;
1101 int error;
1102
1103 if (WARN_ON_ONCE(!rwsem_is_locked(&inode->i_mapping->invalidate_lock)))
1104 return -EINVAL;
1105
1106 do {
> 1107 page = dax_layout_busy_page(inode->i_mapping);
1108 if (!page)
1109 return 0;
1110
1111 error = ___wait_var_event(&page->_refcount,
1112 atomic_read(&page->_refcount) == 1,
1113 TASK_INTERRUPTIBLE, 0, 0,
1114 f2fs_wait_dax_page(inode));
1115 } while (error == 0);
1116
1117 return error;
1118 }
1119

--
0-DAY CI Kernel Test Service
https://01.org/lkp