All of lore.kernel.org
 help / color / mirror / Atom feed
* [nvdimm:libnvdimm-pending 284/291] include/linux/fs.h:908:29: error: storage class specified for parameter 'I_BDEV'
@ 2020-05-19 10:47 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-05-19 10:47 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 37964 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git libnvdimm-pending
head:   4e2f899e682d1e6c647651bc36bcdba3b3577485
commit: 0b25105d34e381fafc7eb9395007727bbb4661a4 [284/291] x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user,kernel}()
config: powerpc-rhel-kconfig (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 0b25105d34e381fafc7eb9395007727bbb4661a4
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

| ^
include/linux/fs.h:540:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
540 | {
| ^
include/linux/fs.h:545:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
545 | {
| ^
include/linux/fs.h:553:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
553 | {
| ^
include/linux/fs.h:567:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
567 | {
| ^
include/linux/fs.h:572:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
572 | {
| ^
include/linux/fs.h:578:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
578 | {
| ^
include/linux/fs.h:583:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
583 | {
| ^
include/linux/fs.h:589:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
589 | {
| ^
include/linux/fs.h:604:1: warning: empty declaration
604 | struct posix_acl;
| ^~~~~~
include/linux/fs.h:610:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
610 | {
| ^
include/linux/fs.h:616:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
616 | {
| ^
include/linux/fs.h:626:1: warning: empty declaration
626 | struct fsnotify_mark_connector;
| ^~~~~~
include/linux/fs.h:668:20: error: field 'i_atime' has incomplete type
668 |  struct timespec64 i_atime;
|                    ^~~~~~~
include/linux/fs.h:669:20: error: field 'i_mtime' has incomplete type
669 |  struct timespec64 i_mtime;
|                    ^~~~~~~
include/linux/fs.h:670:20: error: field 'i_ctime' has incomplete type
670 |  struct timespec64 i_ctime;
|                    ^~~~~~~
include/linux/fs.h:633:1: warning: empty declaration
633 | struct inode {
| ^~~~~~
include/linux/fs.h:749:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
749 | {
| ^
include/linux/fs.h:754:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
754 | {
| ^
include/linux/fs.h:765:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
765 | {
| ^
include/linux/fs.h:785:1: warning: empty declaration
785 | enum inode_i_mutex_lock_class
| ^~~~
include/linux/fs.h:796:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
796 | {
| ^
include/linux/fs.h:801:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
801 | {
| ^
include/linux/fs.h:806:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
806 | {
| ^
include/linux/fs.h:811:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
811 | {
| ^
include/linux/fs.h:816:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
816 | {
| ^
include/linux/fs.h:821:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
821 | {
| ^
include/linux/fs.h:826:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
826 | {
| ^
include/linux/fs.h:831:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
831 | {
| ^
include/linux/fs.h:836:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
836 | {
| ^
include/linux/fs.h:854:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
854 | {
| ^
include/linux/fs.h:882:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
882 | {
| ^
include/linux/fs.h:899:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
899 | {
| ^
include/linux/fs.h:904:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
904 | {
| ^
>> include/linux/fs.h:908:29: error: storage class specified for parameter 'I_BDEV'
908 | extern struct block_device *I_BDEV(struct inode *inode);
|                             ^~~~~~
>> include/linux/fs.h:913:16: error: field 'pid_type' has incomplete type
913 |  enum pid_type pid_type; /* Kind of process group SIGIO should be sent to */
|                ^~~~~~~~
include/linux/fs.h:910:1: warning: empty declaration
910 | struct fown_struct {
| ^~~~~~
include/linux/fs.h:921:1: warning: empty declaration
921 | struct file_ra_state {
| ^~~~~~
include/linux/fs.h:936:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
936 | {
| ^
include/linux/fs.h:978:2: error: expected specifier-qualifier-list before 'errseq_t'
978 |  errseq_t  f_wb_err;
|  ^~~~~~~~
include/linux/fs.h:941:1: warning: empty declaration
941 | struct file {
| ^~~~~~
include/linux/fs.h:982:1: warning: empty declaration
982 | struct file_handle {
| ^~~~~~
include/linux/fs.h:990:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
990 | {
| ^
>> include/linux/fs.h:1031:15: error: storage class specified for parameter 'fl_owner_t'
1031 | typedef void *fl_owner_t;
|               ^~~~~~~~~~
include/linux/fs.h:1033:1: warning: empty declaration
1033 | struct file_lock;
| ^~~~~~
include/linux/fs.h:1035:1: warning: empty declaration
1035 | struct file_lock_operations {
| ^~~~~~
>> include/linux/fs.h:1041:2: error: expected specifier-qualifier-list before 'fl_owner_t'
1041 |  fl_owner_t (*lm_get_owner)(fl_owner_t);
|  ^~~~~~~~~~
include/linux/fs.h:1040:1: warning: empty declaration
1040 | struct lock_manager_operations {
| ^~~~~~
include/linux/fs.h:1050:1: warning: empty declaration
1050 | struct lock_manager {
| ^~~~~~
include/linux/fs.h:1059:1: warning: empty declaration
1059 | struct net;
| ^~~~~~
In file included from include/linux/fs.h:1066,
from include/linux/compat.h:17,
from arch/powerpc/kernel/asm-offsets.c:14:
include/linux/nfs_fs_i.h:5:1: warning: empty declaration
5 | struct nlm_lockowner;
| ^~~~~~
include/linux/nfs_fs_i.h:10:1: warning: empty declaration
10 | struct nfs_lock_info {
| ^~~~~~
include/linux/nfs_fs_i.h:16:1: warning: empty declaration
16 | struct nfs4_lock_state;
| ^~~~~~
include/linux/nfs_fs_i.h:17:1: warning: empty declaration
17 | struct nfs4_lock_info {
| ^~~~~~
In file included from include/linux/compat.h:17,
from arch/powerpc/kernel/asm-offsets.c:14:
include/linux/fs.h:1095:2: error: expected specifier-qualifier-list before 'fl_owner_t'
1095 |  fl_owner_t fl_owner;
|  ^~~~~~~~~~
include/linux/fs.h:1085:1: warning: empty declaration
1085 | struct file_lock {
| ^~~~~~
include/linux/fs.h:1123:1: warning: empty declaration
1123 | struct file_lock_context {
| ^~~~~~
>> include/linux/fs.h:1137:13: error: storage class specified for parameter 'send_sigio'
1137 | extern void send_sigio(struct fown_struct *fown, int fd, int band);
|             ^~~~~~~~~~
>> include/linux/fs.h:1142:12: error: storage class specified for parameter 'fcntl_getlk'
1142 | extern int fcntl_getlk(struct file *, unsigned int, struct flock *);
|            ^~~~~~~~~~~
>> include/linux/fs.h:1143:12: error: storage class specified for parameter 'fcntl_setlk'
1143 | extern int fcntl_setlk(unsigned int, struct file *, unsigned int,
|            ^~~~~~~~~~~
>> include/linux/fs.h:1152:12: error: storage class specified for parameter 'fcntl_setlease'
1152 | extern int fcntl_setlease(unsigned int fd, struct file *filp, long arg);
|            ^~~~~~~~~~~~~~
>> include/linux/fs.h:1153:12: error: storage class specified for parameter 'fcntl_getlease'
1153 | extern int fcntl_getlease(struct file *filp);
|            ^~~~~~~~~~~~~~
>> include/linux/fs.h:1158:13: error: storage class specified for parameter 'locks_init_lock'
1158 | extern void locks_init_lock(struct file_lock *);
|             ^~~~~~~~~~~~~~~
>> include/linux/fs.h:1159:27: error: storage class specified for parameter 'locks_alloc_lock'
1159 | extern struct file_lock * locks_alloc_lock(void);
|                           ^~~~~~~~~~~~~~~~
>> include/linux/fs.h:1160:13: error: storage class specified for parameter 'locks_copy_lock'
1160 | extern void locks_copy_lock(struct file_lock *, struct file_lock *);
|             ^~~~~~~~~~~~~~~
>> include/linux/fs.h:1161:13: error: storage class specified for parameter 'locks_copy_conflock'
1161 | extern void locks_copy_conflock(struct file_lock *, struct file_lock *);
|             ^~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1162:47: error: expected declaration specifiers or '...' before 'fl_owner_t'
1162 | extern void locks_remove_posix(struct file *, fl_owner_t);
|                                               ^~~~~~~~~~
>> include/linux/fs.h:1163:13: error: storage class specified for parameter 'locks_remove_file'
1163 | extern void locks_remove_file(struct file *);
|             ^~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1164:13: error: storage class specified for parameter 'locks_release_private'
1164 | extern void locks_release_private(struct file_lock *);
|             ^~~~~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1165:13: error: storage class specified for parameter 'posix_test_lock'
1165 | extern void posix_test_lock(struct file *, struct file_lock *);
|             ^~~~~~~~~~~~~~~
>> include/linux/fs.h:1166:12: error: storage class specified for parameter 'posix_lock_file'
1166 | extern int posix_lock_file(struct file *, struct file_lock *, struct file_lock *);
|            ^~~~~~~~~~~~~~~
>> include/linux/fs.h:1167:12: error: storage class specified for parameter 'locks_delete_block'
1167 | extern int locks_delete_block(struct file_lock *);
|            ^~~~~~~~~~~~~~~~~~
>> include/linux/fs.h:1168:12: error: storage class specified for parameter 'vfs_test_lock'
1168 | extern int vfs_test_lock(struct file *, struct file_lock *);
|            ^~~~~~~~~~~~~
include/linux/fs.h:1169:12: error: storage class specified for parameter 'vfs_lock_file'
1169 | extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *);
|            ^~~~~~~~~~~~~
include/linux/fs.h:1170:12: error: storage class specified for parameter 'vfs_cancel_lock'
1170 | extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl);
|            ^~~~~~~~~~~~~~~
include/linux/fs.h:1171:12: error: storage class specified for parameter 'locks_lock_inode_wait'
1171 | extern int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl);
|            ^~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1172:12: error: storage class specified for parameter '__break_lease'
1172 | extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type);
|            ^~~~~~~~~~~~~
include/linux/fs.h:1173:13: error: storage class specified for parameter 'lease_get_mtime'
1173 | extern void lease_get_mtime(struct inode *, struct timespec64 *time);
|             ^~~~~~~~~~~~~~~
include/linux/fs.h:1174:12: error: storage class specified for parameter 'generic_setlease'
1174 | extern int generic_setlease(struct file *, long, struct file_lock **, void **priv);
|            ^~~~~~~~~~~~~~~~
include/linux/fs.h:1175:12: error: storage class specified for parameter 'vfs_setlease'
1175 | extern int vfs_setlease(struct file *, long, struct file_lock **, void **);
|            ^~~~~~~~~~~~
include/linux/fs.h:1176:12: error: storage class specified for parameter 'lease_modify'
1176 | extern int lease_modify(struct file_lock *, int, struct list_head *);
|            ^~~~~~~~~~~~
include/linux/fs.h:1178:1: warning: empty declaration
1178 | struct notifier_block;
| ^~~~~~
include/linux/fs.h:1179:12: error: storage class specified for parameter 'lease_register_notifier'
1179 | extern int lease_register_notifier(struct notifier_block *);
|            ^~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1180:13: error: storage class specified for parameter 'lease_unregister_notifier'
1180 | extern void lease_unregister_notifier(struct notifier_block *);
|             ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1182:1: warning: empty declaration
1182 | struct files_struct;
| ^~~~~~
include/linux/fs.h:1183:13: error: storage class specified for parameter 'show_fd_locks'
1183 | extern void show_fd_locks(struct seq_file *f,
|             ^~~~~~~~~~~~~
include/linux/fs.h:1323:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
1323 | {
| ^
include/linux/fs.h:1328:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
1328 | {
| ^
include/linux/fs.h:1333:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
1333 | {
| ^
include/linux/fs.h:1337:1: warning: empty declaration
1337 | struct fasync_struct {
| ^~~~~~
include/linux/fs.h:1349:12: error: storage class specified for parameter 'fasync_helper'
1349 | extern int fasync_helper(int, struct file *, int, struct fasync_struct **);
|            ^~~~~~~~~~~~~
include/linux/fs.h:1350:30: error: storage class specified for parameter 'fasync_insert_entry'
1350 | extern struct fasync_struct *fasync_insert_entry(int, struct file *, struct fasync_struct **, struct fasync_struct *);
|                              ^~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1351:12: error: storage class specified for parameter 'fasync_remove_entry'
1351 | extern int fasync_remove_entry(struct file *, struct fasync_struct **);
|            ^~~~~~~~~~~~~~~~~~~
include/linux/fs.h:1352:30: error: storage class specified for parameter 'fasync_alloc'
1352 | extern struct fasync_struct *fasync_alloc(void);
|                              ^~~~~~~~~~~~
include/linux/fs.h:1353:13: error: storage class specified for parameter 'fasync_free'
1353 | extern void fasync_free(struct fasync_struct *);
|             ^~~~~~~~~~~
include/linux/fs.h:1356:13: error: storage class specified for parameter 'kill_fasync'
1356 | extern void kill_fasync(struct fasync_struct **, int, int);
|             ^~~~~~~~~~~
include/linux/fs.h:1358:13: error: storage class specified for parameter '__f_setown'
1358 | extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
|             ^~~~~~~~~~
include/linux/fs.h:1359:12: error: storage class specified for parameter 'f_setown'
1359 | extern int f_setown(struct file *filp, unsigned long arg, int force);
|            ^~~~~~~~
include/linux/fs.h:1360:13: error: storage class specified for parameter 'f_delown'
1360 | extern void f_delown(struct file *filp);
|             ^~~~~~~~
include/linux/fs.h:1361:14: error: storage class specified for parameter 'f_getown'
1361 | extern pid_t f_getown(struct file *filp);
|              ^~~~~~~~
include/linux/fs.h:1362:12: error: storage class specified for parameter 'send_sigurg'
1362 | extern int send_sigurg(struct fown_struct *fown);
|            ^~~~~~~~~~~
include/linux/fs.h:1413:1: warning: empty declaration
1413 | enum {
| ^~~~
include/linux/fs.h:1424:1: warning: empty declaration
1424 | struct sb_writers {
| ^~~~~~
include/linux/fs.h:1488:2: error: expected specifier-qualifier-list before 'uuid_t'
1488 |  uuid_t   s_uuid;  /* UUID */
|  ^~~~~~
include/linux/fs.h:1430:1: warning: empty declaration
1430 | struct super_block {
| ^~~~~~
include/linux/fs.h:1565:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
1565 | {

vim +/I_BDEV +908 include/linux/fs.h

^1da177e4c3f4152 Linus Torvalds       2005-04-16   875  
7762f5a0b709b415 Miklos Szeredi       2006-10-17   876  /*
7762f5a0b709b415 Miklos Szeredi       2006-10-17   877   * NOTE: unlike i_size_read(), i_size_write() does need locking around it
7762f5a0b709b415 Miklos Szeredi       2006-10-17   878   * (normally i_mutex), otherwise on 32bit/SMP an update of i_size_seqcount
7762f5a0b709b415 Miklos Szeredi       2006-10-17   879   * can be lost, resulting in subsequent i_size_read() calls spinning forever.
7762f5a0b709b415 Miklos Szeredi       2006-10-17   880   */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   881  static inline void i_size_write(struct inode *inode, loff_t i_size)
^1da177e4c3f4152 Linus Torvalds       2005-04-16  @882  {
^1da177e4c3f4152 Linus Torvalds       2005-04-16   883  #if BITS_PER_LONG==32 && defined(CONFIG_SMP)
74e3d1e17b2e11d1 Fan Du               2013-04-30   884  	preempt_disable();
^1da177e4c3f4152 Linus Torvalds       2005-04-16   885  	write_seqcount_begin(&inode->i_size_seqcount);
^1da177e4c3f4152 Linus Torvalds       2005-04-16   886  	inode->i_size = i_size;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   887  	write_seqcount_end(&inode->i_size_seqcount);
74e3d1e17b2e11d1 Fan Du               2013-04-30   888  	preempt_enable();
2496396fcb44404e Thomas Gleixner      2019-10-15   889  #elif BITS_PER_LONG==32 && defined(CONFIG_PREEMPTION)
^1da177e4c3f4152 Linus Torvalds       2005-04-16   890  	preempt_disable();
^1da177e4c3f4152 Linus Torvalds       2005-04-16   891  	inode->i_size = i_size;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   892  	preempt_enable();
^1da177e4c3f4152 Linus Torvalds       2005-04-16   893  #else
^1da177e4c3f4152 Linus Torvalds       2005-04-16   894  	inode->i_size = i_size;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   895  #endif
^1da177e4c3f4152 Linus Torvalds       2005-04-16   896  }
^1da177e4c3f4152 Linus Torvalds       2005-04-16   897  
48ed214d10ae3c39 Jan Engelhardt       2006-12-06   898  static inline unsigned iminor(const struct inode *inode)
^1da177e4c3f4152 Linus Torvalds       2005-04-16  @899  {
^1da177e4c3f4152 Linus Torvalds       2005-04-16   900  	return MINOR(inode->i_rdev);
^1da177e4c3f4152 Linus Torvalds       2005-04-16   901  }
^1da177e4c3f4152 Linus Torvalds       2005-04-16   902  
48ed214d10ae3c39 Jan Engelhardt       2006-12-06   903  static inline unsigned imajor(const struct inode *inode)
^1da177e4c3f4152 Linus Torvalds       2005-04-16   904  {
^1da177e4c3f4152 Linus Torvalds       2005-04-16   905  	return MAJOR(inode->i_rdev);
^1da177e4c3f4152 Linus Torvalds       2005-04-16   906  }
^1da177e4c3f4152 Linus Torvalds       2005-04-16   907  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  @908  extern struct block_device *I_BDEV(struct inode *inode);
^1da177e4c3f4152 Linus Torvalds       2005-04-16   909  
^1da177e4c3f4152 Linus Torvalds       2005-04-16   910  struct fown_struct {
^1da177e4c3f4152 Linus Torvalds       2005-04-16   911  	rwlock_t lock;          /* protects pid, uid, euid fields */
609d7fa9565c7544 Eric W. Biederman    2006-10-02   912  	struct pid *pid;	/* pid or -pgrp where SIGIO should be sent */
609d7fa9565c7544 Eric W. Biederman    2006-10-02  @913  	enum pid_type pid_type;	/* Kind of process group SIGIO should be sent to */
92361636e0153bd0 Eric W. Biederman    2012-02-08   914  	kuid_t uid, euid;	/* uid/euid of process setting the owner */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   915  	int signum;		/* posix.1b rt signal to be delivered on IO */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   916  };
^1da177e4c3f4152 Linus Torvalds       2005-04-16   917  
^1da177e4c3f4152 Linus Torvalds       2005-04-16   918  /*
^1da177e4c3f4152 Linus Torvalds       2005-04-16   919   * Track a single file's readahead state
^1da177e4c3f4152 Linus Torvalds       2005-04-16   920   */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   921  struct file_ra_state {
f9acc8c7b35a100f Fengguang Wu         2007-07-19   922  	pgoff_t start;			/* where readahead started */
937085aa35cc873d Fengguang Wu         2007-10-16   923  	unsigned int size;		/* # of readahead pages */
937085aa35cc873d Fengguang Wu         2007-10-16   924  	unsigned int async_size;	/* do asynchronous readahead when
f9acc8c7b35a100f Fengguang Wu         2007-07-19   925  					   there are only # of pages ahead */
5ce1110b92b31d07 Fengguang Wu         2007-07-19   926  
937085aa35cc873d Fengguang Wu         2007-10-16   927  	unsigned int ra_pages;		/* Maximum readahead window */
1ebf26a9b338534d Wu Fengguang         2009-06-16   928  	unsigned int mmap_miss;		/* Cache miss stat for mmap accesses */
f4e6b498d6e06742 Fengguang Wu         2007-10-16   929  	loff_t prev_pos;		/* Cache last read() position */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   930  };
^1da177e4c3f4152 Linus Torvalds       2005-04-16   931  
5ce1110b92b31d07 Fengguang Wu         2007-07-19   932  /*
5ce1110b92b31d07 Fengguang Wu         2007-07-19   933   * Check if @index falls in the readahead windows.
5ce1110b92b31d07 Fengguang Wu         2007-07-19   934   */
5ce1110b92b31d07 Fengguang Wu         2007-07-19   935  static inline int ra_has_index(struct file_ra_state *ra, pgoff_t index)
5ce1110b92b31d07 Fengguang Wu         2007-07-19   936  {
f9acc8c7b35a100f Fengguang Wu         2007-07-19   937  	return (index >= ra->start &&
f9acc8c7b35a100f Fengguang Wu         2007-07-19   938  		index <  ra->start + ra->size);
5ce1110b92b31d07 Fengguang Wu         2007-07-19   939  }
5ce1110b92b31d07 Fengguang Wu         2007-07-19   940  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  @941  struct file {
2f51201662b28dbf Eric Dumazet         2005-10-30   942  	union {
4f5e65a1cc90bbb1 Oleg Nesterov        2013-07-08   943  		struct llist_node	fu_llist;
2f51201662b28dbf Eric Dumazet         2005-10-30   944  		struct rcu_head 	fu_rcuhead;
2f51201662b28dbf Eric Dumazet         2005-10-30   945  	} f_u;
0f7fc9e4d03987fe Josef "Jeff" Sipek   2006-12-08   946  	struct path		f_path;
dd37978c50bc8b35 Al Viro              2013-03-01   947  	struct inode		*f_inode;	/* cached value */
99ac48f54a91d021 Arjan van de Ven     2006-03-28   948  	const struct file_operations	*f_op;
ef3d0fd27e90f67e Andi Kleen           2011-09-15   949  
ef3d0fd27e90f67e Andi Kleen           2011-09-15   950  	/*
9c225f2655e36a47 Linus Torvalds       2014-03-03   951  	 * Protects f_ep_links, f_flags.
ef3d0fd27e90f67e Andi Kleen           2011-09-15   952  	 * Must not be taken from IRQ context.
ef3d0fd27e90f67e Andi Kleen           2011-09-15   953  	 */
ef3d0fd27e90f67e Andi Kleen           2011-09-15   954  	spinlock_t		f_lock;
c75b1d9421f80f41 Jens Axboe           2017-06-27   955  	enum rw_hint		f_write_hint;
516e0cc5646f377a Al Viro              2008-07-26   956  	atomic_long_t		f_count;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   957  	unsigned int 		f_flags;
aeb5d727062a0238 Al Viro              2008-09-02   958  	fmode_t			f_mode;
9c225f2655e36a47 Linus Torvalds       2014-03-03   959  	struct mutex		f_pos_lock;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   960  	loff_t			f_pos;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   961  	struct fown_struct	f_owner;
d76b0d9b2d87cfc9 David Howells        2008-11-14   962  	const struct cred	*f_cred;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   963  	struct file_ra_state	f_ra;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   964  
2b47c3611de05c58 Mathieu Desnoyers    2007-10-16   965  	u64			f_version;
50462062a02226a6 Alexey Dobriyan      2006-09-29   966  #ifdef CONFIG_SECURITY
^1da177e4c3f4152 Linus Torvalds       2005-04-16   967  	void			*f_security;
50462062a02226a6 Alexey Dobriyan      2006-09-29   968  #endif
^1da177e4c3f4152 Linus Torvalds       2005-04-16   969  	/* needed for tty driver, and maybe others */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   970  	void			*private_data;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   971  
^1da177e4c3f4152 Linus Torvalds       2005-04-16   972  #ifdef CONFIG_EPOLL
^1da177e4c3f4152 Linus Torvalds       2005-04-16   973  	/* Used by fs/eventpoll.c to link all the hooks to this file */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   974  	struct list_head	f_ep_links;
28d82dc1c4edbc35 Jason Baron          2012-01-12   975  	struct list_head	f_tfile_llink;
^1da177e4c3f4152 Linus Torvalds       2005-04-16   976  #endif /* #ifdef CONFIG_EPOLL */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   977  	struct address_space	*f_mapping;
5660e13d2fd6af19 Jeff Layton          2017-07-06   978  	errseq_t		f_wb_err;
3859a271a003aba0 Kees Cook            2016-10-28   979  } __randomize_layout
3859a271a003aba0 Kees Cook            2016-10-28   980    __attribute__((aligned(4)));	/* lest something weird decides that 2 is OK */
^1da177e4c3f4152 Linus Torvalds       2005-04-16   981  
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   982  struct file_handle {
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   983  	__u32 handle_bytes;
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   984  	int handle_type;
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   985  	/* file identifier */
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   986  	unsigned char f_handle[0];
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   987  };
990d6c2d7aee921e Aneesh Kumar K.V     2011-01-29   988  
cb0942b81249798e Al Viro              2012-08-27   989  static inline struct file *get_file(struct file *f)
cb0942b81249798e Al Viro              2012-08-27   990  {
cb0942b81249798e Al Viro              2012-08-27   991  	atomic_long_inc(&f->f_count);
cb0942b81249798e Al Viro              2012-08-27   992  	return f;
cb0942b81249798e Al Viro              2012-08-27   993  }
091141a42e15fe47 Jens Axboe           2018-11-21   994  #define get_file_rcu_many(x, cnt)	\
091141a42e15fe47 Jens Axboe           2018-11-21   995  	atomic_long_add_unless(&(x)->f_count, (cnt), 0)
091141a42e15fe47 Jens Axboe           2018-11-21   996  #define get_file_rcu(x) get_file_rcu_many((x), 1)
516e0cc5646f377a Al Viro              2008-07-26   997  #define file_count(x)	atomic_long_read(&(x)->f_count)
^1da177e4c3f4152 Linus Torvalds       2005-04-16   998  
^1da177e4c3f4152 Linus Torvalds       2005-04-16   999  #define	MAX_NON_LFS	((1UL<<31) - 1)
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1000  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1001  /* Page cache limit. The filesystems should put that into their s_maxbytes 
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1002     limits, otherwise bad things can happen in VM. */ 
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1003  #if BITS_PER_LONG==32
0cc3b0ec23ce4c69 Linus Torvalds       2017-08-27  1004  #define MAX_LFS_FILESIZE	((loff_t)ULONG_MAX << PAGE_SHIFT)
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1005  #elif BITS_PER_LONG==64
0cc3b0ec23ce4c69 Linus Torvalds       2017-08-27  1006  #define MAX_LFS_FILESIZE 	((loff_t)LLONG_MAX)
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1007  #endif
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1008  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1009  #define FL_POSIX	1
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1010  #define FL_FLOCK	2
617588d5186c887e J. Bruce Fields      2011-07-01  1011  #define FL_DELEG	4	/* NFSv4 delegation */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1012  #define FL_ACCESS	8	/* not trying to lock, just looking */
f475ae957db66650 Trond Myklebust      2006-06-29  1013  #define FL_EXISTS	16	/* when unlocking, test for existence */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1014  #define FL_LEASE	32	/* lease held on this file */
75e1fcc0b18df0a6 Miklos Szeredi       2006-06-23  1015  #define FL_CLOSE	64	/* unlock on close */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1016  #define FL_SLEEP	128	/* A blocking lock */
778fc546f749c588 J. Bruce Fields      2011-07-26  1017  #define FL_DOWNGRADE_PENDING	256 /* Lease is being downgraded */
778fc546f749c588 J. Bruce Fields      2011-07-26  1018  #define FL_UNLOCK_PENDING	512 /* Lease is being broken */
cff2fce58b2b0f59 Jeff Layton          2014-04-22  1019  #define FL_OFDLCK	1024	/* lock is "owned" by struct file */
11afe9f76e121e96 Christoph Hellwig    2015-01-21  1020  #define FL_LAYOUT	2048	/* outstanding pNFS layout */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1021  
50f2112cf7a3e62a Benjamin Coddington  2017-04-11  1022  #define FL_CLOSE_POSIX (FL_POSIX | FL_CLOSE)
50f2112cf7a3e62a Benjamin Coddington  2017-04-11  1023  
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1024  /*
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1025   * Special return value from posix_lock_file() and vfs_lock_file() for
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1026   * asynchronous locking.
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1027   */
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1028  #define FILE_LOCK_DEFERRED 1
bde74e4bc64415b1 Miklos Szeredi       2008-07-25  1029  
7ca76311fe6c397e Jeff Layton          2014-09-01  1030  /* legacy typedef, should eventually be removed */
17fa388ddceb89e9 Christoph Hellwig    2014-07-13 @1031  typedef void *fl_owner_t;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1032  
a7231a97467d5a0c Jeff Layton          2015-01-16  1033  struct file_lock;
a7231a97467d5a0c Jeff Layton          2015-01-16  1034  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1035  struct file_lock_operations {
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1036  	void (*fl_copy_lock)(struct file_lock *, struct file_lock *);
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1037  	void (*fl_release_private)(struct file_lock *);
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1038  };
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1039  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1040  struct lock_manager_operations {
cae80b305e1c3944 Jeff Layton          2015-04-03 @1041  	fl_owner_t (*lm_get_owner)(fl_owner_t);
cae80b305e1c3944 Jeff Layton          2015-04-03  1042  	void (*lm_put_owner)(fl_owner_t);
8fb47a4fbf858a16 J. Bruce Fields      2011-07-20  1043  	void (*lm_notify)(struct file_lock *);	/* unblock callback */
d0449b90f80f263e Joe Perches          2014-08-22  1044  	int (*lm_grant)(struct file_lock *, int);
4d01b7f5e7576858 Jeff Layton          2014-09-01  1045  	bool (*lm_break)(struct file_lock *);
7448cc37b1a6b620 Jeff Layton          2015-01-16  1046  	int (*lm_change)(struct file_lock *, int, struct list_head *);
1c7dd2ff430fa14b Jeff Layton          2014-08-22  1047  	void (*lm_setup)(struct file_lock *, void **);
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1048  };
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1049  
af558e33bedab672 J. Bruce Fields      2007-09-06  1050  struct lock_manager {
af558e33bedab672 J. Bruce Fields      2007-09-06  1051  	struct list_head list;
c87fb4a378f93f11 J. Bruce Fields      2015-08-06  1052  	/*
c87fb4a378f93f11 J. Bruce Fields      2015-08-06  1053  	 * NFSv4 and up also want opens blocked during the grace period;
c87fb4a378f93f11 J. Bruce Fields      2015-08-06  1054  	 * NLM doesn't care:
c87fb4a378f93f11 J. Bruce Fields      2015-08-06  1055  	 */
c87fb4a378f93f11 J. Bruce Fields      2015-08-06  1056  	bool block_opens;
af558e33bedab672 J. Bruce Fields      2007-09-06  1057  };
af558e33bedab672 J. Bruce Fields      2007-09-06  1058  
5ccb0066f2d56154 Stanislav Kinsbursky 2012-07-25  1059  struct net;
5ccb0066f2d56154 Stanislav Kinsbursky 2012-07-25  1060  void locks_start_grace(struct net *, struct lock_manager *);
af558e33bedab672 J. Bruce Fields      2007-09-06  1061  void locks_end_grace(struct lock_manager *);
003278e431bffa40 Corentin Labbe       2017-09-26  1062  bool locks_in_grace(struct net *);
003278e431bffa40 Corentin Labbe       2017-09-26  1063  bool opens_in_grace(struct net *);
af558e33bedab672 J. Bruce Fields      2007-09-06  1064  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1065  /* that will die - we need it for nfs_lock_info */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1066  #include <linux/nfs_fs_i.h>
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1067  
1cb360125966cb6c Jeff Layton          2013-06-21  1068  /*
1cb360125966cb6c Jeff Layton          2013-06-21  1069   * struct file_lock represents a generic "file lock". It's used to represent
1cb360125966cb6c Jeff Layton          2013-06-21  1070   * POSIX byte range locks, BSD (flock) locks, and leases. It's important to
1cb360125966cb6c Jeff Layton          2013-06-21  1071   * note that the same struct is used to represent both a request for a lock and
1cb360125966cb6c Jeff Layton          2013-06-21  1072   * the lock itself, but the same object is never used for both.
1cb360125966cb6c Jeff Layton          2013-06-21  1073   *
1cb360125966cb6c Jeff Layton          2013-06-21  1074   * FIXME: should we create a separate "struct lock_request" to help distinguish
1cb360125966cb6c Jeff Layton          2013-06-21  1075   * these two uses?
1cb360125966cb6c Jeff Layton          2013-06-21  1076   *
8116bf4cb62d337c Jeff Layton          2015-01-21  1077   * The varous i_flctx lists are ordered by:
1cb360125966cb6c Jeff Layton          2013-06-21  1078   *
8116bf4cb62d337c Jeff Layton          2015-01-21  1079   * 1) lock owner
8116bf4cb62d337c Jeff Layton          2015-01-21  1080   * 2) lock range start
8116bf4cb62d337c Jeff Layton          2015-01-21  1081   * 3) lock range end
1cb360125966cb6c Jeff Layton          2013-06-21  1082   *
1cb360125966cb6c Jeff Layton          2013-06-21  1083   * Obviously, the last two criteria only matter for POSIX locks.
1cb360125966cb6c Jeff Layton          2013-06-21  1084   */
^1da177e4c3f4152 Linus Torvalds       2005-04-16 @1085  struct file_lock {
ada5c1da8660ecae NeilBrown            2018-11-30  1086  	struct file_lock *fl_blocker;	/* The lock, that is blocking us */
6dee60f69d48fcef Jeff Layton          2015-01-16  1087  	struct list_head fl_list;	/* link into file_lock_context */
139ca04ee572fea6 Jeff Layton          2013-06-21  1088  	struct hlist_node fl_link;	/* node in global lists */
ada5c1da8660ecae NeilBrown            2018-11-30  1089  	struct list_head fl_blocked_requests;	/* list of requests with
ada5c1da8660ecae NeilBrown            2018-11-30  1090  						 * ->fl_blocker pointing here
ada5c1da8660ecae NeilBrown            2018-11-30  1091  						 */
ada5c1da8660ecae NeilBrown            2018-11-30  1092  	struct list_head fl_blocked_member;	/* node in
ada5c1da8660ecae NeilBrown            2018-11-30  1093  						 * ->fl_blocker->fl_blocked_requests
ada5c1da8660ecae NeilBrown            2018-11-30  1094  						 */
^1da177e4c3f4152 Linus Torvalds       2005-04-16 @1095  	fl_owner_t fl_owner;
710b7216964d6455 J. Bruce Fields      2011-07-26  1096  	unsigned int fl_flags;
afc1246f917c664b Richard Kennedy      2008-07-11  1097  	unsigned char fl_type;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1098  	unsigned int fl_pid;
7012b02a2b2c42bb Jeff Layton          2013-06-21  1099  	int fl_link_cpu;		/* what cpu's list is this on? */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1100  	wait_queue_head_t fl_wait;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1101  	struct file *fl_file;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1102  	loff_t fl_start;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1103  	loff_t fl_end;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1104  
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1105  	struct fasync_struct *	fl_fasync; /* for lease break notifications */
778fc546f749c588 J. Bruce Fields      2011-07-26  1106  	/* for lease breaks: */
778fc546f749c588 J. Bruce Fields      2011-07-26  1107  	unsigned long fl_break_time;
778fc546f749c588 J. Bruce Fields      2011-07-26  1108  	unsigned long fl_downgrade_time;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1109  
6aed62853c72e29f Alexey Dobriyan      2009-09-21  1110  	const struct file_lock_operations *fl_ops;	/* Callbacks for filesystems */
7b021967c5e14639 Alexey Dobriyan      2009-09-21  1111  	const struct lock_manager_operations *fl_lmops;	/* Callbacks for lockmanagers */
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1112  	union {
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1113  		struct nfs_lock_info	nfs_fl;
8d0a8a9d0ec79008 Trond Myklebust      2005-06-22  1114  		struct nfs4_lock_info	nfs4_fl;
e8d6c554126b8302 David Howells        2007-07-15  1115  		struct {
e8d6c554126b8302 David Howells        2007-07-15  1116  			struct list_head link;	/* link in AFS vnode's pending_locks list */
e8d6c554126b8302 David Howells        2007-07-15  1117  			int state;		/* state of grant or error if -ve */
d46966013bb4f1fb David Howells        2019-04-25  1118  			unsigned int	debug_id;
e8d6c554126b8302 David Howells        2007-07-15  1119  		} afs;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1120  	} fl_u;
3859a271a003aba0 Kees Cook            2016-10-28  1121  } __randomize_layout;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1122  

:::::: The code at line 908 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 15574 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-19 10:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-19 10:47 [nvdimm:libnvdimm-pending 284/291] include/linux/fs.h:908:29: error: storage class specified for parameter 'I_BDEV' kbuild test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.