On Sun, May 5, 2019 at 7:34 PM kbuild test robot <lkp@xxxxxxxxx> wrote: > > Hi Amir, > > I love your patch! Yet something to improve: > > [auto build test ERROR on linus/master] > [also build test ERROR on v5.1-rc7 next-20190503] > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > url: https://github.com/0day-ci/linux/commits/Amir-Goldstein/fsnotify-fix-unlink-performance-regression/20190505-233115 > config: riscv-tinyconfig (attached as .config) > compiler: riscv64-linux-gcc (GCC) 8.1.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > GCC_VERSION=8.1.0 make.cross ARCH=riscv > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@xxxxxxxxx> > > All errors (new ones prefixed by >>): > > In file included from fs///attr.c:15: > include/linux/fsnotify.h: In function 'fsnotify_nameremove': > >> include/linux/fsnotify.h:179:23: error: 'struct inode' has no member named 'i_fsnotify_mask' > if (!(d_inode(parent)->i_fsnotify_mask & FS_DELETE) && > ^~ > >> include/linux/fsnotify.h:180:20: error: 'struct super_block' has no member named 's_fsnotify_mask' > !(dentry->d_sb->s_fsnotify_mask & FS_DELETE)) > ^~ > Crap! forgot these wrappers are not NOOPed without CONFIG_FSNOTIFY. It is so annoying to fix bugs in code that should not exist. In d_delete() at this point, dentry is either negative or inode->i_nlink which accounts for this name should be decremented. If d_move() was possible on this dentry, bad things would happen. I really wish I could just drop this take_dentry_name_snapshot() and leave the WARN_ON() I suggested instead... For now will just send an unbroken patch. Thanks, Amir.