Hi NeilBrown, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.17-rc1 next-20220124] [cannot apply to trondmy-nfs/linux-next cifs/for-next hnaz-mm/master] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/NeilBrown/Repair-SWAP-over_NFS/20220124-115716 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dd81e1c7d5fb126e5fbc5c9e334d7b3ec29a16a0 config: powerpc-allnoconfig (https://download.01.org/0day-ci/archive/20220124/202201241613.8J5z5arQ-lkp@xxxxxxxxx/config) compiler: powerpc-linux-gcc (GCC) 11.2.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://github.com/0day-ci/linux/commit/63bff668aa0537d7ccef9ed428809fc16c1a6b6c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review NeilBrown/Repair-SWAP-over_NFS/20220124-115716 git checkout 63bff668aa0537d7ccef9ed428809fc16c1a6b6c # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): In file included from mm/vmscan.c:61: mm/swap.h:66:40: warning: 'struct swap_iocb' declared inside parameter list will not be visible outside of this definition or declaration 66 | struct swap_iocb **plug); | ^~~~~~~~~ >> mm/swap.h:67:1: error: expected identifier or '(' before '{' token 67 | { | ^ mm/swap.h:65:19: warning: 'swap_readpage' declared 'static' but never defined [-Wunused-function] 65 | static inline int swap_readpage(struct page *page, bool do_poll, | ^~~~~~~~~~~~~ -- In file included from mm/memory.c:89: mm/swap.h:66:40: warning: 'struct swap_iocb' declared inside parameter list will not be visible outside of this definition or declaration 66 | struct swap_iocb **plug); | ^~~~~~~~~ >> mm/swap.h:67:1: error: expected identifier or '(' before '{' token 67 | { | ^ >> mm/swap.h:65:19: warning: 'swap_readpage' used but never defined 65 | static inline int swap_readpage(struct page *page, bool do_poll, | ^~~~~~~~~~~~~ -- In file included from mm/page_alloc.c:84: mm/swap.h:66:40: warning: 'struct swap_iocb' declared inside parameter list will not be visible outside of this definition or declaration 66 | struct swap_iocb **plug); | ^~~~~~~~~ >> mm/swap.h:67:1: error: expected identifier or '(' before '{' token 67 | { | ^ mm/page_alloc.c:3821:15: warning: no previous prototype for 'should_fail_alloc_page' [-Wmissing-prototypes] 3821 | noinline bool should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) | ^~~~~~~~~~~~~~~~~~~~~~ In file included from mm/page_alloc.c:84: mm/swap.h:65:19: warning: 'swap_readpage' declared 'static' but never defined [-Wunused-function] 65 | static inline int swap_readpage(struct page *page, bool do_poll, | ^~~~~~~~~~~~~ vim +67 mm/swap.h 50dceef273a619 NeilBrown 2022-01-24 45 50dceef273a619 NeilBrown 2022-01-24 46 struct page *read_swap_cache_async(swp_entry_t, gfp_t, 50dceef273a619 NeilBrown 2022-01-24 47 struct vm_area_struct *vma, 50dceef273a619 NeilBrown 2022-01-24 48 unsigned long addr, 63bff668aa0537 NeilBrown 2022-01-24 49 bool do_poll, 63bff668aa0537 NeilBrown 2022-01-24 50 struct swap_iocb **plug); 50dceef273a619 NeilBrown 2022-01-24 51 struct page *__read_swap_cache_async(swp_entry_t, gfp_t, 50dceef273a619 NeilBrown 2022-01-24 52 struct vm_area_struct *vma, 50dceef273a619 NeilBrown 2022-01-24 53 unsigned long addr, 50dceef273a619 NeilBrown 2022-01-24 54 bool *new_page_allocated); 50dceef273a619 NeilBrown 2022-01-24 55 struct page *swap_cluster_readahead(swp_entry_t entry, gfp_t flag, 50dceef273a619 NeilBrown 2022-01-24 56 struct vm_fault *vmf); 50dceef273a619 NeilBrown 2022-01-24 57 struct page *swapin_readahead(swp_entry_t entry, gfp_t flag, 50dceef273a619 NeilBrown 2022-01-24 58 struct vm_fault *vmf); 50dceef273a619 NeilBrown 2022-01-24 59 12cf545fe71035 NeilBrown 2022-01-24 60 static inline unsigned int page_swap_flags(struct page *page) 12cf545fe71035 NeilBrown 2022-01-24 61 { 12cf545fe71035 NeilBrown 2022-01-24 62 return page_swap_info(page)->flags; 12cf545fe71035 NeilBrown 2022-01-24 63 } 50dceef273a619 NeilBrown 2022-01-24 64 #else /* CONFIG_SWAP */ 63bff668aa0537 NeilBrown 2022-01-24 @65 static inline int swap_readpage(struct page *page, bool do_poll, 63bff668aa0537 NeilBrown 2022-01-24 @66 struct swap_iocb **plug); 50dceef273a619 NeilBrown 2022-01-24 @67 { 50dceef273a619 NeilBrown 2022-01-24 68 return 0; 50dceef273a619 NeilBrown 2022-01-24 69 } 50dceef273a619 NeilBrown 2022-01-24 70 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx