summaryrefslogtreecommitdiff
path: root/init
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2015-08-15 13:36:41 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2015-08-21 02:34:37 -0400
commita03e283bf5c3d4851b4998122196ce9f849e6dfb (patch)
tree993a15c5162722fa702a490540e8ee374cead082 /init
parentcde93be45a8a90d8c264c776fab63487b5038a65 (diff)
dcache: Reduce the scope of i_lock in d_splice_alias
i_lock is only needed until __d_find_any_alias calls dget on the alias dentry. After that the reference to new ensures that dentry_kill and d_delete will not remove the inode from the dentry, and remove the dentry from the inode->d_entry list. The inode i_lock came to be held over the the __d_move calls in d_splice_alias through a series of introduction of locks with increasing smaller scope. First it was the dcache_lock, then it was the dcache_inode_lock, and finally inode->i_lock. Furthermore inode->i_lock is not held over any other calls to d_move or __d_move so it can not provide any meaningful rename protection. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'init')
0 files changed, 0 insertions, 0 deletions