[willy-pagecache:for-next 164/179] fs/ceph/cache.h:139:36: error: passing argument 1 of 'filemap_dirty_folio' from incompatible pointer type

From: kernel test robot
Date: Tue Mar 15 2022 - 06:20:33 EST


tree: git://git.infradead.org/users/willy/pagecache for-next
head: af564d7369d44fbbe697a5f631fe3bba5ebecd59
commit: 09f7fc259e5dd9ab97313b62bdfc9b56abf0ef1d [164/179] fscache: Convert fscache_set_page_dirty() to fscache_dirty_folio()
config: powerpc64-randconfig-m031-20220313 (https://download.01.org/0day-ci/archive/20220315/202203151822.AxRLjKqE-lkp@xxxxxxxxx/config)
compiler: powerpc64-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
git remote add willy-pagecache git://git.infradead.org/users/willy/pagecache
git fetch --no-tags willy-pagecache for-next
git checkout 09f7fc259e5dd9ab97313b62bdfc9b56abf0ef1d
# 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 fs/

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

All errors (new ones prefixed by >>):

In file included from fs/ceph/super.c:22:
fs/ceph/cache.h: In function 'ceph_fscache_dirty_folio':
>> fs/ceph/cache.h:139:36: error: passing argument 1 of 'filemap_dirty_folio' from incompatible pointer type [-Werror=incompatible-pointer-types]
139 | return filemap_dirty_folio(folio);
| ^~~~~
| |
| struct folio *
In file included from include/linux/backing-dev.h:16,
from fs/ceph/super.c:5:
include/linux/writeback.h:393:48: note: expected 'struct address_space *' but argument is of type 'struct folio *'
393 | bool filemap_dirty_folio(struct address_space *mapping, struct folio *folio);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from fs/ceph/super.c:22:
>> fs/ceph/cache.h:139:16: error: too few arguments to function 'filemap_dirty_folio'
139 | return filemap_dirty_folio(folio);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/backing-dev.h:16,
from fs/ceph/super.c:5:
include/linux/writeback.h:393:6: note: declared here
393 | bool filemap_dirty_folio(struct address_space *mapping, struct folio *folio);
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from fs/ceph/addr.c:19:
fs/ceph/cache.h: In function 'ceph_fscache_dirty_folio':
>> fs/ceph/cache.h:139:36: error: passing argument 1 of 'filemap_dirty_folio' from incompatible pointer type [-Werror=incompatible-pointer-types]
139 | return filemap_dirty_folio(folio);
| ^~~~~
| |
| struct folio *
In file included from include/linux/backing-dev.h:16,
from fs/ceph/addr.c:4:
include/linux/writeback.h:393:48: note: expected 'struct address_space *' but argument is of type 'struct folio *'
393 | bool filemap_dirty_folio(struct address_space *mapping, struct folio *folio);
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from fs/ceph/addr.c:19:
>> fs/ceph/cache.h:139:16: error: too few arguments to function 'filemap_dirty_folio'
139 | return filemap_dirty_folio(folio);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/backing-dev.h:16,
from fs/ceph/addr.c:4:
include/linux/writeback.h:393:6: note: declared here
393 | bool filemap_dirty_folio(struct address_space *mapping, struct folio *folio);
| ^~~~~~~~~~~~~~~~~~~
In file included from fs/ceph/addr.c:19:
fs/ceph/cache.h:140:1: error: control reaches end of non-void function [-Werror=return-type]
140 | }
| ^
cc1: some warnings being treated as errors


vim +/filemap_dirty_folio +139 fs/ceph/cache.h

135
136 static inline int ceph_fscache_dirty_folio(struct address_space *mapping,
137 struct folio *folio)
138 {
> 139 return filemap_dirty_folio(folio);
140 }
141

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