提交 50e69630 编写于 作者: A Al Viro 提交者: Linus Torvalds

vfs: d_invalidate() should leave mountpoints alone

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 a8445060
...@@ -546,9 +546,11 @@ int d_invalidate(struct dentry * dentry) ...@@ -546,9 +546,11 @@ int d_invalidate(struct dentry * dentry)
* would make it unreachable from the root, * would make it unreachable from the root,
* we might still populate it if it was a * we might still populate it if it was a
* working directory or similar). * working directory or similar).
* We also need to leave mountpoints alone,
* directory or not.
*/ */
if (dentry->d_count > 1) { if (dentry->d_count > 1 && dentry->d_inode) {
if (dentry->d_inode && S_ISDIR(dentry->d_inode->i_mode)) { if (S_ISDIR(dentry->d_inode->i_mode) || d_mountpoint(dentry)) {
spin_unlock(&dentry->d_lock); spin_unlock(&dentry->d_lock);
return -EBUSY; return -EBUSY;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册