tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-iter-2 head: 23676c28d1a9add6ea09f19ca89b71be994a4b79 commit: be401b99396d9299b6e66ff061f722c275441d60 [66/67] nfs: Convert to new fscache volume/cookie API config: x86_64-rhel-8.3-kselftests (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/commit/?id=be401b99396d9299b6e66ff061f722c275441d60 git remote add dhowells-fs https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git git fetch --no-tags dhowells-fs fscache-iter-2 git checkout be401b99396d9299b6e66ff061f722c275441d60 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): ld: fs/nfs/inode.o: in function `fscache_invalidate': include/linux/fscache.h:445: undefined reference to `__fscache_invalidate' ld: include/linux/fscache.h:445: undefined reference to `__fscache_invalidate' ld: fs/nfs/direct.o: in function `fscache_invalidate': include/linux/fscache.h:445: undefined reference to `__fscache_invalidate' ld: fs/nfs/write.o: in function `fscache_invalidate': include/linux/fscache.h:445: undefined reference to `__fscache_invalidate' ld: fs/nfs/fscache.o: in function `fscache_unuse_cookie': include/linux/fscache.h:287: undefined reference to `__fscache_unuse_cookie' ld: fs/nfs/fscache.o: in function `fscache_use_cookie': include/linux/fscache.h:270: undefined reference to `__fscache_use_cookie' ld: fs/nfs/fscache.o: in function `fscache_acquire_volume': include/linux/fscache.h:203: undefined reference to `__fscache_acquire_volume' ld: fs/nfs/fscache.o: in function `fscache_relinquish_volume': include/linux/fscache.h:222: undefined reference to `__fscache_relinquish_volume' ld: fs/nfs/fscache.o: in function `fscache_acquire_cookie': include/linux/fscache.h:251: undefined reference to `__fscache_acquire_cookie' ld: fs/nfs/fscache.o: in function `fscache_relinquish_cookie': include/linux/fscache.h:306: undefined reference to `__fscache_relinquish_cookie' ld: fs/nfs/fscache.o: in function `fscache_unuse_cookie': include/linux/fscache.h:287: undefined reference to `__fscache_unuse_cookie' ld: fs/nfs/fscache.o: in function `fscache_fallback_read_page': >> include/linux/fscache.h:632: undefined reference to `__fscache_fallback_read_page' ld: fs/nfs/fscache.o: in function `fscache_fallback_write_page': >> include/linux/fscache.h:652: undefined reference to `__fscache_fallback_write_page' >> pahole: .tmp_vmlinux.btf: No such file or directory .btf.vmlinux.bin.o: file not recognized: file format not recognized vim +632 include/linux/fscache.h b5cd0254309847 David Howells 2021-09-14 615 b5cd0254309847 David Howells 2021-09-14 616 /** b5cd0254309847 David Howells 2021-09-14 617 * fscache_fallback_read_page - Read a page from a cache object (DANGEROUS) b5cd0254309847 David Howells 2021-09-14 618 * @cookie: The cookie representing the cache object b5cd0254309847 David Howells 2021-09-14 619 * @page: The page to be read to b5cd0254309847 David Howells 2021-09-14 620 * b5cd0254309847 David Howells 2021-09-14 621 * Synchronously read a page from the cache. The page's offset is used to b5cd0254309847 David Howells 2021-09-14 622 * indicate where to read. b5cd0254309847 David Howells 2021-09-14 623 * b5cd0254309847 David Howells 2021-09-14 624 * This is dangerous and should be moved away from as it relies on the b5cd0254309847 David Howells 2021-09-14 625 * assumption that the backing filesystem will exactly record the blocks we b5cd0254309847 David Howells 2021-09-14 626 * have stored there. b5cd0254309847 David Howells 2021-09-14 627 */ b5cd0254309847 David Howells 2021-09-14 628 static inline b5cd0254309847 David Howells 2021-09-14 629 int fscache_fallback_read_page(struct fscache_cookie *cookie, struct page *page) b5cd0254309847 David Howells 2021-09-14 630 { e26619dc7e61b1 Jeff Layton 2020-07-30 631 if (fscache_cookie_enabled(cookie)) b5cd0254309847 David Howells 2021-09-14 @632 return __fscache_fallback_read_page(cookie, page); b5cd0254309847 David Howells 2021-09-14 633 return -ENOBUFS; b5cd0254309847 David Howells 2021-09-14 634 } b5cd0254309847 David Howells 2021-09-14 635 b5cd0254309847 David Howells 2021-09-14 636 /** b5cd0254309847 David Howells 2021-09-14 637 * fscache_fallback_write_page - Write a page to a cache object (DANGEROUS) b5cd0254309847 David Howells 2021-09-14 638 * @cookie: The cookie representing the cache object b5cd0254309847 David Howells 2021-09-14 639 * @page: The page to be written from b5cd0254309847 David Howells 2021-09-14 640 * b5cd0254309847 David Howells 2021-09-14 641 * Synchronously write a page to the cache. The page's offset is used to b5cd0254309847 David Howells 2021-09-14 642 * indicate where to write. b5cd0254309847 David Howells 2021-09-14 643 * b5cd0254309847 David Howells 2021-09-14 644 * This is dangerous and should be moved away from as it relies on the b5cd0254309847 David Howells 2021-09-14 645 * assumption that the backing filesystem will exactly record the blocks we b5cd0254309847 David Howells 2021-09-14 646 * have stored there. b5cd0254309847 David Howells 2021-09-14 647 */ b5cd0254309847 David Howells 2021-09-14 648 static inline b5cd0254309847 David Howells 2021-09-14 649 int fscache_fallback_write_page(struct fscache_cookie *cookie, struct page *page) b5cd0254309847 David Howells 2021-09-14 650 { e26619dc7e61b1 Jeff Layton 2020-07-30 651 if (fscache_cookie_enabled(cookie)) b5cd0254309847 David Howells 2021-09-14 @652 return __fscache_fallback_write_page(cookie, page); b5cd0254309847 David Howells 2021-09-14 653 return -ENOBUFS; b5cd0254309847 David Howells 2021-09-14 654 } b5cd0254309847 David Howells 2021-09-14 655 :::::: The code at line 632 was first introduced by commit :::::: b5cd0254309847abfb2eebfbcbd4415d61c5af1b fscache: Implement a fallback I/O interface to replace the old API :::::: TO: David Howells :::::: CC: David Howells --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org