[dhowells-fs:fscache-iter-2 66/67] include/linux/fscache.h:632: undefined reference to `__fscache_fallback_read_page'

From: kernel test robot
Date: Fri Sep 17 2021 - 11:10:23 EST


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 <lkp@xxxxxxxxx>

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 <dhowells@xxxxxxxxxx>
:::::: CC: David Howells <dhowells@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip