Hi Richard, FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd commit: 9ca2d732644484488db31123ecd3bf122b551566 ubifs: Limit number of xattrs per inode date: 6 days ago config: i386-randconfig-c0-05140716 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout 9ca2d732644484488db31123ecd3bf122b551566 # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot <l...@intel.com> All errors (new ones prefixed by >>): ld: fs/ubifs/dir.o: in function `ubifs_unlink': >> fs/ubifs/dir.c:799: undefined reference to `ubifs_purge_xattrs' ld: fs/ubifs/dir.o: in function `do_rename': fs/ubifs/dir.c:1296: undefined reference to `ubifs_purge_xattrs' ld: fs/ubifs/dir.o: in function `ubifs_rmdir': fs/ubifs/dir.c:907: undefined reference to `ubifs_purge_xattrs' vim +799 fs/ubifs/dir.c 773 774 static int ubifs_unlink(struct inode *dir, struct dentry *dentry) 775 { 776 struct ubifs_info *c = dir->i_sb->s_fs_info; 777 struct inode *inode = d_inode(dentry); 778 struct ubifs_inode *dir_ui = ubifs_inode(dir); 779 int err, sz_change, budgeted = 1; 780 struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 }; 781 unsigned int saved_nlink = inode->i_nlink; 782 struct fscrypt_name nm; 783 784 /* 785 * Budget request settings: deletion direntry, deletion inode (+1 for 786 * @dirtied_ino), changing the parent directory inode. If budgeting 787 * fails, go ahead anyway because we have extra space reserved for 788 * deletions. 789 */ 790 791 dbg_gen("dent '%pd' from ino %lu (nlink %d) in dir ino %lu", 792 dentry, inode->i_ino, 793 inode->i_nlink, dir->i_ino); 794 795 err = fscrypt_setup_filename(dir, &dentry->d_name, 1, &nm); 796 if (err) 797 return err; 798 > 799 err = ubifs_purge_xattrs(inode); 800 if (err) 801 return err; 802 803 sz_change = CALC_DENT_SIZE(fname_len(&nm)); 804 805 ubifs_assert(c, inode_is_locked(dir)); 806 ubifs_assert(c, inode_is_locked(inode)); 807 err = dbg_check_synced_i_size(c, inode); 808 if (err) 809 goto out_fname; 810 811 err = ubifs_budget_space(c, &req); 812 if (err) { 813 if (err != -ENOSPC) 814 goto out_fname; 815 budgeted = 0; 816 } 817 818 lock_2_inodes(dir, inode); 819 inode->i_ctime = current_time(dir); 820 drop_nlink(inode); 821 dir->i_size -= sz_change; 822 dir_ui->ui_size = dir->i_size; 823 dir->i_mtime = dir->i_ctime = inode->i_ctime; 824 err = ubifs_jnl_update(c, dir, &nm, inode, 1, 0); 825 if (err) 826 goto out_cancel; 827 unlock_2_inodes(dir, inode); 828 829 if (budgeted) 830 ubifs_release_budget(c, &req); 831 else { 832 /* We've deleted something - clean the "no space" flags */ 833 c->bi.nospace = c->bi.nospace_rp = 0; 834 smp_wmb(); 835 } 836 fscrypt_free_filename(&nm); 837 return 0; 838 839 out_cancel: 840 dir->i_size += sz_change; 841 dir_ui->ui_size = dir->i_size; 842 set_nlink(inode, saved_nlink); 843 unlock_2_inodes(dir, inode); 844 if (budgeted) 845 ubifs_release_budget(c, &req); 846 out_fname: 847 fscrypt_free_filename(&nm); 848 return err; 849 } 850 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: application/gzip