[dhowells-fs:fscache-rewrite-indexing-3 45/57] fs/cachefiles/daemon.c:749:3: error: implicit declaration of function 'fscache_count_no_create_space'

From: kernel test robot
Date: Mon Nov 01 2021 - 17:40:13 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-rewrite-indexing-3
head: 9951875dffbb365747c90f9a620964dc6a425b42
commit: 3691f0ef7ffa65c007c04f74a0e2d83fcbc040ac [45/57] fscache, cachefiles: Display stat of culling events
config: i386-randconfig-r032-20211101 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 264d3b6d4e08401c5b50a85bd76e80b3461d77e6)
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/dhowells/linux-fs.git/commit/?id=3691f0ef7ffa65c007c04f74a0e2d83fcbc040ac
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-rewrite-indexing-3
git checkout 3691f0ef7ffa65c007c04f74a0e2d83fcbc040ac
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=i386

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

All errors (new ones prefixed by >>):

>> fs/cachefiles/daemon.c:749:3: error: implicit declaration of function 'fscache_count_no_create_space' [-Werror,-Wimplicit-function-declaration]
fscache_count_no_create_space();
^
1 error generated.


vim +/fscache_count_no_create_space +749 fs/cachefiles/daemon.c

b7346095102b60 David Howells 2021-10-21 665
b7346095102b60 David Howells 2021-10-21 666 /*
b7346095102b60 David Howells 2021-10-21 667 * see if we have space for a number of pages and/or a number of files in the
b7346095102b60 David Howells 2021-10-21 668 * cache
b7346095102b60 David Howells 2021-10-21 669 */
b7346095102b60 David Howells 2021-10-21 670 int cachefiles_has_space(struct cachefiles_cache *cache,
fb8bfe41f89cf1 David Howells 2021-10-21 671 unsigned fnr, unsigned bnr,
fb8bfe41f89cf1 David Howells 2021-10-21 672 enum cachefiles_has_space_for reason)
b7346095102b60 David Howells 2021-10-21 673 {
b7346095102b60 David Howells 2021-10-21 674 struct kstatfs stats;
b7346095102b60 David Howells 2021-10-21 675 int ret;
b7346095102b60 David Howells 2021-10-21 676
b7346095102b60 David Howells 2021-10-21 677 struct path path = {
b7346095102b60 David Howells 2021-10-21 678 .mnt = cache->mnt,
b7346095102b60 David Howells 2021-10-21 679 .dentry = cache->mnt->mnt_root,
b7346095102b60 David Howells 2021-10-21 680 };
b7346095102b60 David Howells 2021-10-21 681
b7346095102b60 David Howells 2021-10-21 682 //_enter("{%llu,%llu,%llu,%llu,%llu,%llu},%u,%u",
b7346095102b60 David Howells 2021-10-21 683 // (unsigned long long) cache->frun,
b7346095102b60 David Howells 2021-10-21 684 // (unsigned long long) cache->fcull,
b7346095102b60 David Howells 2021-10-21 685 // (unsigned long long) cache->fstop,
b7346095102b60 David Howells 2021-10-21 686 // (unsigned long long) cache->brun,
b7346095102b60 David Howells 2021-10-21 687 // (unsigned long long) cache->bcull,
b7346095102b60 David Howells 2021-10-21 688 // (unsigned long long) cache->bstop,
b7346095102b60 David Howells 2021-10-21 689 // fnr, bnr);
b7346095102b60 David Howells 2021-10-21 690
b7346095102b60 David Howells 2021-10-21 691 /* find out how many pages of blockdev are available */
b7346095102b60 David Howells 2021-10-21 692 memset(&stats, 0, sizeof(stats));
b7346095102b60 David Howells 2021-10-21 693
b7346095102b60 David Howells 2021-10-21 694 ret = vfs_statfs(&path, &stats);
b7346095102b60 David Howells 2021-10-21 695 if (ret < 0) {
b7346095102b60 David Howells 2021-10-21 696 trace_cachefiles_vfs_error(NULL, d_inode(path.dentry), ret,
b7346095102b60 David Howells 2021-10-21 697 cachefiles_trace_statfs_error);
b7346095102b60 David Howells 2021-10-21 698 if (ret == -EIO)
b7346095102b60 David Howells 2021-10-21 699 cachefiles_io_error(cache, "statfs failed");
b7346095102b60 David Howells 2021-10-21 700 _leave(" = %d", ret);
b7346095102b60 David Howells 2021-10-21 701 return ret;
b7346095102b60 David Howells 2021-10-21 702 }
b7346095102b60 David Howells 2021-10-21 703
b7346095102b60 David Howells 2021-10-21 704 stats.f_bavail >>= cache->bshift;
b7346095102b60 David Howells 2021-10-21 705
b7346095102b60 David Howells 2021-10-21 706 //_debug("avail %llu,%llu",
b7346095102b60 David Howells 2021-10-21 707 // (unsigned long long) stats.f_ffree,
b7346095102b60 David Howells 2021-10-21 708 // (unsigned long long) stats.f_bavail);
b7346095102b60 David Howells 2021-10-21 709
b7346095102b60 David Howells 2021-10-21 710 /* see if there is sufficient space */
b7346095102b60 David Howells 2021-10-21 711 if (stats.f_ffree > fnr)
b7346095102b60 David Howells 2021-10-21 712 stats.f_ffree -= fnr;
b7346095102b60 David Howells 2021-10-21 713 else
b7346095102b60 David Howells 2021-10-21 714 stats.f_ffree = 0;
b7346095102b60 David Howells 2021-10-21 715
b7346095102b60 David Howells 2021-10-21 716 if (stats.f_bavail > bnr)
b7346095102b60 David Howells 2021-10-21 717 stats.f_bavail -= bnr;
b7346095102b60 David Howells 2021-10-21 718 else
b7346095102b60 David Howells 2021-10-21 719 stats.f_bavail = 0;
b7346095102b60 David Howells 2021-10-21 720
b7346095102b60 David Howells 2021-10-21 721 ret = -ENOBUFS;
b7346095102b60 David Howells 2021-10-21 722 if (stats.f_ffree < cache->fstop ||
b7346095102b60 David Howells 2021-10-21 723 stats.f_bavail < cache->bstop)
fb8bfe41f89cf1 David Howells 2021-10-21 724 goto stop_and_begin_cull;
b7346095102b60 David Howells 2021-10-21 725
b7346095102b60 David Howells 2021-10-21 726 ret = 0;
b7346095102b60 David Howells 2021-10-21 727 if (stats.f_ffree < cache->fcull ||
b7346095102b60 David Howells 2021-10-21 728 stats.f_bavail < cache->bcull)
b7346095102b60 David Howells 2021-10-21 729 goto begin_cull;
b7346095102b60 David Howells 2021-10-21 730
b7346095102b60 David Howells 2021-10-21 731 if (test_bit(CACHEFILES_CULLING, &cache->flags) &&
b7346095102b60 David Howells 2021-10-21 732 stats.f_ffree >= cache->frun &&
b7346095102b60 David Howells 2021-10-21 733 stats.f_bavail >= cache->brun &&
b7346095102b60 David Howells 2021-10-21 734 test_and_clear_bit(CACHEFILES_CULLING, &cache->flags)
b7346095102b60 David Howells 2021-10-21 735 ) {
b7346095102b60 David Howells 2021-10-21 736 _debug("cease culling");
b7346095102b60 David Howells 2021-10-21 737 cachefiles_state_changed(cache);
b7346095102b60 David Howells 2021-10-21 738 }
b7346095102b60 David Howells 2021-10-21 739
b7346095102b60 David Howells 2021-10-21 740 //_leave(" = 0");
b7346095102b60 David Howells 2021-10-21 741 return 0;
b7346095102b60 David Howells 2021-10-21 742
fb8bfe41f89cf1 David Howells 2021-10-21 743 stop_and_begin_cull:
fb8bfe41f89cf1 David Howells 2021-10-21 744 switch (reason) {
fb8bfe41f89cf1 David Howells 2021-10-21 745 case cachefiles_has_space_for_write:
fb8bfe41f89cf1 David Howells 2021-10-21 746 fscache_count_no_write_space();
fb8bfe41f89cf1 David Howells 2021-10-21 747 break;
fb8bfe41f89cf1 David Howells 2021-10-21 748 case cachefiles_has_space_for_create:
fb8bfe41f89cf1 David Howells 2021-10-21 @749 fscache_count_no_create_space();

:::::: The code at line 749 was first introduced by commit
:::::: fb8bfe41f89cf1adf7470f683c66407de81115e4 fscache, cachefiles: Display stats of no-space events

:::::: 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