Lines Matching defs:alias
1001 struct dentry *alias;
1005 alias = hlist_entry(inode->i_dentry.first, struct dentry, d_u.d_alias);
1006 __dget(alias);
1007 return alias;
1011 * d_find_any_alias - find any alias for a given inode
1012 * @inode: inode to find an alias for
1030 struct dentry *alias;
1035 hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) {
1036 spin_lock(&alias->d_lock);
1037 if (!d_unhashed(alias)) {
1038 __dget_dlock(alias);
1039 spin_unlock(&alias->d_lock);
1040 return alias;
1042 spin_unlock(&alias->d_lock);
1048 * d_find_alias - grab a hashed alias of inode
1051 * If inode has a hashed alias, or is a directory and has any alias,
1052 * acquire the reference to alias and return it. Otherwise return NULL.
1053 * Notice that if inode is a directory there can be only one alias and
1058 * If the inode has an IS_ROOT, DCACHE_DISCONNECTED alias, then prefer
1059 * any other hashed alias over that one.
2822 * d_exact_alias - find and hash an exact unhashed alias
2834 struct dentry *alias;
2838 hlist_for_each_entry(alias, &inode->i_dentry, d_u.d_alias) {
2840 * Don't need alias->d_lock here, because aliases with
2844 if (alias->d_name.hash != hash)
2846 if (alias->d_parent != entry->d_parent)
2848 if (!d_same_name(alias, entry->d_parent, &entry->d_name))
2850 spin_lock(&alias->d_lock);
2851 if (!d_unhashed(alias)) {
2852 spin_unlock(&alias->d_lock);
2853 alias = NULL;
2855 __dget_dlock(alias);
2856 __d_rehash(alias);
2857 spin_unlock(&alias->d_lock);
2860 return alias;
3085 struct dentry *dentry, struct dentry *alias)
3091 /* If alias and dentry share a parent, then no extra locks required */
3092 if (alias->d_parent == dentry->d_parent)
3099 if (!inode_trylock_shared(alias->d_parent->d_inode))
3101 m2 = &alias->d_parent->d_inode->i_rwsem;
3103 __d_move(alias, dentry, false);
3118 * If inode is a directory and has an IS_ROOT alias, then d_move that in
3151 /* The reference to new ensures it remains an alias */