Hi Benjamin, [auto build test ERROR on v4.6-rc1] [also build test ERROR on next-20160401] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Benjamin-Coddington/Include-OFD-lock-owners-when-looking-up-state/20160401-233801 config: sparc64-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sparc64 Note: the linux-review/Benjamin-Coddington/Include-OFD-lock-owners-when-looking-up-state/20160401-233801 HEAD e6973cc5e04cb6af43dbba362969dbf6ddcf7740 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): fs/nfs/file.c: In function 'do_unlk': >> fs/nfs/file.c:759:10: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type l_ctx = nfs_find_lock_context(nfs_file_open_context(filp)); ^ In file included from fs/nfs/file.c:25:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ -- >> fs/nfs/inode.c:728:26: error: conflicting types for 'nfs_find_lock_context' struct nfs_lock_context *nfs_find_lock_context(struct nfs_open_context *ctx) ^ In file included from fs/nfs/inode.c:29:0: include/linux/nfs_fs.h:368:33: note: previous declaration of 'nfs_find_lock_context' was here extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ In file included from include/linux/linkage.h:6:0, from include/linux/kernel.h:6, from include/linux/list.h:8, from include/linux/module.h:9, from fs/nfs/inode.c:16: fs/nfs/inode.c:754:19: error: conflicting types for 'nfs_find_lock_context' EXPORT_SYMBOL_GPL(nfs_find_lock_context); ^ include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL' extern typeof(sym) sym; \ ^ >> fs/nfs/inode.c:754:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' EXPORT_SYMBOL_GPL(nfs_find_lock_context); ^ In file included from fs/nfs/inode.c:29:0: include/linux/nfs_fs.h:368:33: note: previous declaration of 'nfs_find_lock_context' was here extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ -- fs/nfs/direct.c: In function 'nfs_file_direct_read': >> fs/nfs/direct.c:599:10: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type l_ctx = nfs_find_lock_context(dreq->ctx); ^ In file included from fs/nfs/direct.c:51:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ fs/nfs/direct.c: In function 'nfs_file_direct_write': fs/nfs/direct.c:1032:10: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type l_ctx = nfs_find_lock_context(dreq->ctx); ^ In file included from fs/nfs/direct.c:51:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ -- fs/nfs/pagelist.c: In function 'nfs_create_request': >> fs/nfs/pagelist.c:332:10: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type l_ctx = nfs_find_lock_context(ctx); ^ In file included from fs/nfs/pagelist.c:20:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ -- fs/nfs/nfs42proc.c: In function 'nfs42_proc_fallocate': >> fs/nfs/nfs42proc.c:64:9: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type lock = nfs_find_lock_context(nfs_file_open_context(filep)); ^ In file included from fs/nfs/nfs42proc.c:10:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ fs/nfs/nfs42proc.c: In function 'nfs42_proc_llseek': fs/nfs/nfs42proc.c:174:9: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type lock = nfs_find_lock_context(nfs_file_open_context(filep)); ^ In file included from fs/nfs/nfs42proc.c:10:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ fs/nfs/nfs42proc.c: In function 'nfs42_proc_clone': fs/nfs/nfs42proc.c:368:13: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type src_lock = nfs_find_lock_context(nfs_file_open_context(src_f)); ^ In file included from fs/nfs/nfs42proc.c:10:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ fs/nfs/nfs42proc.c:375:13: warning: passing argument 1 of 'nfs_find_lock_context' from incompatible pointer type dst_lock = nfs_find_lock_context(nfs_file_open_context(dst_f)); ^ In file included from fs/nfs/nfs42proc.c:10:0: include/linux/nfs_fs.h:368:33: note: expected 'struct file *' but argument is of type 'struct nfs_open_context *' extern struct nfs_lock_context *nfs_find_lock_context(struct file *file); ^ vim +/nfs_find_lock_context +728 fs/nfs/inode.c 722 atomic_inc(&pos->count); 723 return pos; 724 } while ((pos = list_entry(pos->list.next, typeof(*pos), list)) != head); 725 return NULL; 726 } 727 > 728 struct nfs_lock_context *nfs_find_lock_context(struct nfs_open_context *ctx) 729 { 730 struct nfs_lock_context *res, *new = NULL; 731 struct inode *inode = d_inode(ctx->dentry); 732 733 spin_lock(&inode->i_lock); 734 res = __nfs_find_lock_context(ctx); 735 if (res == NULL) { 736 spin_unlock(&inode->i_lock); 737 new = kmalloc(sizeof(*new), GFP_KERNEL); 738 if (new == NULL) 739 return ERR_PTR(-ENOMEM); 740 nfs_init_lock_context(new); 741 spin_lock(&inode->i_lock); 742 res = __nfs_find_lock_context(ctx); 743 if (res == NULL) { 744 list_add_tail(&new->list, &ctx->lock_context.list); 745 new->open_context = ctx; 746 res = new; 747 new = NULL; 748 } 749 } 750 spin_unlock(&inode->i_lock); 751 kfree(new); 752 return res; 753 } > 754 EXPORT_SYMBOL_GPL(nfs_find_lock_context); 755 756 struct nfs_lock_context *get_nfs_lock_context(struct nfs_lock_context *l_ctx) 757 { --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data