[dhowells-fs:fscache-rewrite-indexing-3 45/57] fs/cachefiles/daemon.c:749:17: error: implicit declaration of function 'fscache_count_no_create_space'; did you mean 'fscache_count_no_write_space'?
From: kernel test robot
Date: Sun Oct 31 2021 - 13:48:38 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: arc-buildonly-randconfig-r006-20211031 (attached as .config)
compiler: arc-elf-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://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=gcc-11.2.0 make.cross ARCH=arc
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: In function 'cachefiles_has_space':
>> fs/cachefiles/daemon.c:749:17: error: implicit declaration of function 'fscache_count_no_create_space'; did you mean 'fscache_count_no_write_space'? [-Werror=implicit-function-declaration]
749 | fscache_count_no_create_space();
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| fscache_count_no_write_space
cc1: some warnings being treated as errors
vim +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