[dhowells-fs:fscache-rewrite-indexing 77/77] fs/cifs/fscache.h:103:38: error: redefinition of 'cifs_inode_cookie'

From: kernel test robot
Date: Mon Oct 18 2021 - 18:08:50 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git fscache-rewrite-indexing
head: 77d7cb0fca08e72544d242d6897dede22de6bc20
commit: 77d7cb0fca08e72544d242d6897dede22de6bc20 [77/77] cifs: Support fscache indexing rewrite (untested)
config: i386-randconfig-r003-20211019 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d245f2e8597bfb52c34810a328d42b990e4af1a4)
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=77d7cb0fca08e72544d242d6897dede22de6bc20
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
git checkout 77d7cb0fca08e72544d242d6897dede22de6bc20
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 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/cifs/cifssmb.c:33:
>> fs/cifs/fscache.h:103:38: error: redefinition of 'cifs_inode_cookie'
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode)
^
fs/cifs/fscache.h:93:38: note: previous definition is here
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode) { return NULL; }
^
1 error generated.
--
In file included from fs/cifs/cifsfs.c:40:
>> fs/cifs/fscache.h:103:38: error: redefinition of 'cifs_inode_cookie'
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode)
^
fs/cifs/fscache.h:93:38: note: previous definition is here
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode) { return NULL; }
^
>> fs/cifs/cifsfs.c:401:42: error: too many arguments to function call, expected single argument 'inode', have 2 arguments
cifs_fscache_unuse_inode_cookie(inode, true);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~
fs/cifs/fscache.h:92:20: note: 'cifs_fscache_unuse_inode_cookie' declared here
static inline void cifs_fscache_unuse_inode_cookie(struct inode *inode) {}
^
2 errors generated.
--
In file included from fs/cifs/file.c:32:
>> fs/cifs/fscache.h:103:38: error: redefinition of 'cifs_inode_cookie'
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode)
^
fs/cifs/fscache.h:93:38: note: previous definition is here
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode) { return NULL; }
^
>> fs/cifs/file.c:641:37: error: variable has incomplete type 'struct cifs_fscache_inode_auxdata'
struct cifs_fscache_inode_auxdata auxdata;
^
fs/cifs/file.c:641:10: note: forward declaration of 'struct cifs_fscache_inode_auxdata'
struct cifs_fscache_inode_auxdata auxdata;
^
>> fs/cifs/file.c:642:3: error: implicit declaration of function 'cifs_fscache_fill_auxdata' [-Werror,-Wimplicit-function-declaration]
cifs_fscache_fill_auxdata(file_inode(file), &auxdata);
^
>> fs/cifs/file.c:890:41: error: too many arguments to function call, expected single argument 'inode', have 2 arguments
cifs_fscache_unuse_inode_cookie(inode, file->f_mode & FMODE_WRITE);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
fs/cifs/fscache.h:92:20: note: 'cifs_fscache_unuse_inode_cookie' declared here
static inline void cifs_fscache_unuse_inode_cookie(struct inode *inode) {}
^
4 errors generated.
--
In file included from fs/cifs/inode.c:25:
>> fs/cifs/fscache.h:103:38: error: redefinition of 'cifs_inode_cookie'
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode)
^
fs/cifs/fscache.h:93:38: note: previous definition is here
static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode) { return NULL; }
^
>> fs/cifs/inode.c:2263:36: error: variable has incomplete type 'struct cifs_fscache_inode_auxdata'
struct cifs_fscache_inode_auxdata auxdata;
^
fs/cifs/inode.c:2263:9: note: forward declaration of 'struct cifs_fscache_inode_auxdata'
struct cifs_fscache_inode_auxdata auxdata;
^
>> fs/cifs/inode.c:2274:2: error: implicit declaration of function 'cifs_fscache_fill_auxdata' [-Werror,-Wimplicit-function-declaration]
cifs_fscache_fill_auxdata(&cifsi->vfs_inode, &auxdata);
^
3 errors generated.


vim +/cifs_inode_cookie +103 fs/cifs/fscache.h

56698236e12948 Suresh Jayaraman 2010-07-05 100
9dc06558c223bb Suresh Jayaraman 2010-07-05 101 static inline void cifs_readpage_to_fscache(struct inode *inode,
9dc06558c223bb Suresh Jayaraman 2010-07-05 102 struct page *page) {}
d53048a45b2865 David Howells 2021-09-14 @103 static inline struct fscache_cookie *cifs_inode_cookie(struct inode *inode)
d53048a45b2865 David Howells 2021-09-14 104 { return NULL; }
54afa99057ee2f David Howells 2013-09-04 105

:::::: The code at line 103 was first introduced by commit
:::::: d53048a45b2865f95be9d02feaf04a9fd55d8d93 cifs: (untested) Move to using the alternate fallback fscache I/O 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