From: kbuild test robot <lkp@intel.com>
To: Amir Goldstein <amir73il@gmail.com>
Cc: kbuild-all@01.org, Jan Kara <jack@suse.cz>,
Al Viro <viro@zeniv.linux.org.uk>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-fsdevel@vger.kernel.org, LKP <lkp@01.org>
Subject: Re: [PATCH] fsnotify: fix unlink performance regression
Date: Mon, 6 May 2019 00:33:43 +0800 [thread overview]
Message-ID: <201905060021.I3fgRl4C%lkp@intel.com> (raw)
In-Reply-To: <20190505091549.1934-1-amir73il@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2996 bytes --]
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@intel.com>
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))
^~
vim +179 include/linux/fsnotify.h
153
154 /*
155 * fsnotify_nameremove - a filename was removed from a directory
156 *
157 * This is mostly called under parent vfs inode lock so name and
158 * dentry->d_parent should be stable. However there are some corner cases where
159 * inode lock is not held. So to be on the safe side and be reselient to future
160 * callers and out of tree users of d_delete(), we do not assume that d_parent
161 * and d_name are stable and we use dget_parent() and
162 * take_dentry_name_snapshot() to grab stable references.
163 */
164 static inline void fsnotify_nameremove(struct dentry *dentry, int isdir)
165 {
166 struct dentry *parent;
167 struct name_snapshot name;
168 __u32 mask = FS_DELETE;
169
170 /* d_delete() of pseudo inode? (e.g. __ns_get_path() playing tricks) */
171 if (IS_ROOT(dentry))
172 return;
173
174 if (isdir)
175 mask |= FS_ISDIR;
176
177 parent = dget_parent(dentry);
178 /* Avoid unneeded take_dentry_name_snapshot() */
> 179 if (!(d_inode(parent)->i_fsnotify_mask & FS_DELETE) &&
> 180 !(dentry->d_sb->s_fsnotify_mask & FS_DELETE))
181 goto out_dput;
182
183 take_dentry_name_snapshot(&name, dentry);
184
185 fsnotify(d_inode(parent), mask, d_inode(dentry), FSNOTIFY_EVENT_INODE,
186 name.name, 0);
187
188 release_dentry_name_snapshot(&name);
189
190 out_dput:
191 dput(parent);
192 }
193
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 4624 bytes --]
next prev parent reply other threads:[~2019-05-05 16:34 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-05 9:15 [PATCH] fsnotify: fix unlink performance regression Amir Goldstein
2019-05-05 13:05 ` Al Viro
2019-05-05 13:19 ` Amir Goldstein
2019-05-05 13:47 ` Al Viro
2019-05-05 14:18 ` Amir Goldstein
2019-05-06 12:43 ` Amir Goldstein
2019-05-06 14:26 ` Al Viro
2019-05-06 16:22 ` Amir Goldstein
2019-05-05 16:33 ` kbuild test robot [this message]
2019-05-05 18:26 ` Amir Goldstein
2019-05-05 20:07 ` [PATCH v2] " Amir Goldstein
2019-05-07 16:19 ` Jan Kara
2019-05-07 19:12 ` Amir Goldstein
2019-05-08 16:09 ` Amir Goldstein
2019-05-09 10:31 ` Jan Kara
2019-05-10 15:24 ` Amir Goldstein
2019-05-13 16:33 ` Jan Kara
2019-05-13 16:47 ` Amir Goldstein
2019-05-09 9:46 ` Jan Kara
2019-05-10 14:57 ` Amir Goldstein
2019-05-13 16:23 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201905060021.I3fgRl4C%lkp@intel.com \
--to=lkp@intel.com \
--cc=amir73il@gmail.com \
--cc=jack@suse.cz \
--cc=kbuild-all@01.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lkp@01.org \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).