mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-14 06:35:12 +00:00
ocfs2: use list_for_each_entry in ocfs2_find_local_alias()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
12447c4039
commit
a614a092bf
1 changed files with 5 additions and 11 deletions
|
@ -170,13 +170,10 @@ struct dentry *ocfs2_find_local_alias(struct inode *inode,
|
||||||
u64 parent_blkno,
|
u64 parent_blkno,
|
||||||
int skip_unhashed)
|
int skip_unhashed)
|
||||||
{
|
{
|
||||||
struct list_head *p;
|
struct dentry *dentry;
|
||||||
struct dentry *dentry = NULL;
|
|
||||||
|
|
||||||
spin_lock(&inode->i_lock);
|
spin_lock(&inode->i_lock);
|
||||||
list_for_each(p, &inode->i_dentry) {
|
list_for_each_entry(dentry, &inode->i_dentry, d_alias) {
|
||||||
dentry = list_entry(p, struct dentry, d_alias);
|
|
||||||
|
|
||||||
spin_lock(&dentry->d_lock);
|
spin_lock(&dentry->d_lock);
|
||||||
if (ocfs2_match_dentry(dentry, parent_blkno, skip_unhashed)) {
|
if (ocfs2_match_dentry(dentry, parent_blkno, skip_unhashed)) {
|
||||||
trace_ocfs2_find_local_alias(dentry->d_name.len,
|
trace_ocfs2_find_local_alias(dentry->d_name.len,
|
||||||
|
@ -184,16 +181,13 @@ struct dentry *ocfs2_find_local_alias(struct inode *inode,
|
||||||
|
|
||||||
dget_dlock(dentry);
|
dget_dlock(dentry);
|
||||||
spin_unlock(&dentry->d_lock);
|
spin_unlock(&dentry->d_lock);
|
||||||
break;
|
spin_unlock(&inode->i_lock);
|
||||||
|
return dentry;
|
||||||
}
|
}
|
||||||
spin_unlock(&dentry->d_lock);
|
spin_unlock(&dentry->d_lock);
|
||||||
|
|
||||||
dentry = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_unlock(&inode->i_lock);
|
spin_unlock(&inode->i_lock);
|
||||||
|
return NULL;
|
||||||
return dentry;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_SPINLOCK(dentry_attach_lock);
|
DEFINE_SPINLOCK(dentry_attach_lock);
|
||||||
|
|
Loading…
Reference in a new issue