lkml.org 
[lkml]   [2019]   [May]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectfs/ubifs/dir.c:799: undefined reference to `ubifs_purge_xattrs'
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 <lkp@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
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2019-05-14 04:08    [W:0.086 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site